Wie stelle ich eine große Menge an Amazon-S3-Objekten wieder her, die sich in der Speicherklasse „S3 Glacier Flexible Retrieval“ oder „S3 Glacier Deep Archive“ befinden?
Ich möchte eine große Anzahl von Amazon Simple Storage Service (Amazon S3)-Objekten wiederherstellen. Die Amazon-S3-Objekte gehören zur Speicherklasse „Glacier Flexible Retrieval“ oder „Amazon S3 Glacier Deep Archive“.
Lösung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Verwende Amazon S3 Batch Operations oder einen benutzerdefinierten AWS-CLI-Befehl, um eine große Anzahl von Objekten der Amazon-S3-Glacier-Speicherklasse wiederherzustellen.
S3 Batch Operations verwenden
Erstelle einen S3-Batch-Operations-Auftrag, um alle Objekte wiederherzustellen. Du kannst einen Wiederherstellungsauftrag für eine benutzerdefinierte Objektliste oder einen Amazon-S3-Inventory-Bericht ausführen.
Voraussetzungen
Überprüfe Folgendes:
- Du verfügst über eine(n) AWS Identity and Access Management (IAM)-Benutzer:in oder eine IAM-Rolle, der/die berechtigt ist, ein Objekt wiederherzustellen. Der/die IAM-Benutzer:in oder die IAM-Rolle muss außerdem über eine Vertrauensrichtlinie für Amazon S3 Batch Operations verfügen.
- Du hast eine CSV-Datei oder einen Amazon-S3-Inventory-Bericht, die/den du als Manifest der Objekte verwenden kannst, die du wiederherstellen möchtest. Speichere die Manifestdatei in einem S3-Bucket. Weitere Informationen findest du unter Erstellen einer Manifestdatei.
Gehe wie folgt vor, um mithilfe der Amazon-S3-Konsole einen Batch-Operations-Auftrag zu erstellen und eine Wiederherstellung zu initiieren:
- Öffne dieAmazon-S3-Konsole.
- Wähle im Navigationsbereich Batch Operations aus.
- Wähle Aufgabe erstellen aus.
- Wähle unter Region die AWS-Region aus, in der du die Aufgabe erstellen möchtest.
- Gib unter Manifest auswählen Folgendes ein:
Wähle unter Manifest-Format S3 inventory report (S3-Inventory-Bericht) oder CSV als Dateiformat aus.
Gib für Pfad zu Manifestobjekt den Ordnerpfad zur Manifestdatei in deinem S3-Bucket ein, zum Beispiel s3://awsexamplebucket/manifest.csv. - Wähle Weiter aus.
- Gib unter Operation auswählen Folgendes ein:
Wähle für Operation die Option Wiederherstellen aus.
Wähle für Quelle wiederherstellen die Option Glacier Flexible Retrieval oder Glacier Deep Archive aus.
Gib für Number of days that the restored copy is available (Anzahl der Tage, für die die wiederhergestellte Kopie verfügbar ist), die Anzahl der Tage ein.
Wähle für Wiederherstellungsstufe entweder Massenabruf oder Standardabruf aus.
Hinweis: S3-Batch-Operationen unterstützen die Abruf-Stufe Beschleunigt nicht. - Wähle Weiter aus.
- Gib unter Zusätzliche Optionen konfigurieren Folgendes ein:
(Optional) Gib für Beschreibung eine Beschreibung ein.
Gib unter Priorität eine Zahl für die Priorität der Aufgabe ein.
Lass diese Option für Abschlussbericht erstellen aktiviert.
Wähle für Abschlussbericht-Umfang die Option Nur fehlgeschlagene Aufgaben oder Alle Aufgaben aus.
Gib unter Pfad zum Ziel des Abschlussberichts den Pfad ein, an den du den Bericht senden möchtest.
Wähle für Berechtigung die Option Wählen Sie aus vorhandenen IAM-Rollen aus und wähle dann die IAM-Rolle aus, die über die erforderlichen Berechtigungen verfügt. - Wähle Weiter aus.
- Überprüfe auf der Seite Prüfen die Details der Aufgabe und wähle dann Aufgabe erstellen aus.
- Wähle die Aufgabe aus und dann Bestätigen und ausführen.
- (Optional) Wenn du Abschlussbericht generieren ausgewählt hast, überprüfe den Bericht nach Abschluss der Aufgabe. Du findest den Bericht unter dem von dir angegebenen Pfad zum Ziel des Abschlussberichts.
Eine Beschreibung der einzelnen Aufgaben-Status findest du unter Aufgaben-Status.
Wichtig: Die Wiederherstellungs-Aufgabe initiiert nur die Anforderung, Objekte wiederherzustellen. Nachdem du die Anforderung initiiert hast, meldet S3 Batch Operations die Aufgabe für das Objekt als abgeschlossen. Nachdem mit der Batch-Operation-Aufgabe die Objekte wiederhergestellt wurden, aktualisiert Amazon S3 die Aufgabe nicht und benachrichtigt dich auch nicht. Du kannst jedoch Amazon S3-Ereignisbenachrichtigungen verwenden, um Benachrichtigungen zu erhalten, wenn die Objekte in Amazon S3 verfügbar sind.
Weitere Informationen zu fehlgeschlagenen Aufgaben findest du unter Fehlgeschlagene Aufgaben nachverfolgen.
Einen benutzerdefinierten AWS-CLI-Befehl verwenden
Verwende den folgenden benutzerdefinierten Befehl, der deinem Betriebssystem entspricht, um Massendaten aus den S3-Glacier-Speicherklassen wiederherzustellen.
Hinweis: Es hat sich bewährt, die benutzerdefinierten Skripts in einer Nicht-Produktionsumgebung zu testen, bevor du sie in deiner Produktionsumgebung verwendest. Wenn du zu viele Objekte hast, überschreitet der Befehl möglicherweise das Timeout. Verwende den Präfix-Parameter im Befehl, um die Anzahl der Objekte zu verringern.
Für ein Linux- oder UNIX-basiertes System
Du kannst den AWS-CLI-Befehl restore-object ausführen, um die Amazon-S3-Glacier-Objekte wiederherzustellen. Der Befehl restore-object kann jedoch jeweils nur ein S3-Glacier-Objekt wiederherstellen und unterstützt die Massenwiederherstellungsaktion nicht.
Führe den folgenden list-objects-v2-Befehl aus, um alle S3-Glacier-Objekte im Bucket wiederherzustellen:
`` aws s3api list-objects-v2 --bucket bucket-name --prefix your-prefix --query 'Contents[?StorageClass==`GLACIER`][Key]' --output text | xargs -I {} sh -c "aws s3api restore-object --bucket bucket-name --key \"{}\" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"``
Hinweis: Ersetze bucket-name durch deinen S3-Bucket-Namen, your-prefix durch deinen Amazon-S3-Ordnerpfad und den StorageClass-Wert durch GLACIER oder DEEP_ARCHIVE.
Für ein Windows-basiertes System
Für die folgenden benutzerdefinierten AWS-CLI-Befehle fallen zusätzliche Gebühren für die Listen- und Datenabrufanforderungen an. Da es sich beim list-objects-v2-API-Aufruf um einen seitenweisen Vorgang handelt, rufen mehrere API-Aufrufe den gesamten Ergebnisdatensatz ab.
Gehe wie folgt vor:
-
Führe den folgenden list-objects-v2-Befehl aus, um alle S3-Glacier-Objekte im Bucket aufzulisten:
`` aws s3api list-objects-v2 --bucket bucket-name --prefix your-prefix --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt`` -
Führe den restore-object-Befehl aus, um die S3-Glacier-Objekte wiederherzustellen:
` for /F "tokens=*" %i in (list.txt) do @aws s3api restore-object --bucket bucket-name --key "%i" --restore-request Days=5,GlacierJobParameters={Tier=Standard} || true"`Hinweis: Du kannst den AWS-CLI-Befehl restore-object ausführen, um deine Amazon-S3 Glacier-Objekte wiederherzustellen. Der Befehl restore-object kann jedoch jeweils nur ein S3-Glacier-Objekt wiederherstellen und unterstützt die Massenwiederherstellungsaktion nicht.
Ähnliche Informationen
Grundlegendes zu den Optionen für den Archivabruf
- Themen
- Storage
- Sprache
- Deutsch
Ähnliche Videos

