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?

Lesedauer: 5 Minute
0

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

Um eine große Menge an Amazon S3 Glacier-Speicherklassenobjekten wiederherzustellen, verwende entweder Amazon S3 Batch Operations oder einen benutzerdefinierten AWS Command Line Interface (AWS CLI)-Befehl.

Hinweis: Wenn du beim Ausführen von 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 von AWS CLI verwendest.

S3 Batch Operations verwenden

Erstelle einen S3 Batch Operations-Job, um alle Objekte wiederherzustellen. Du kannst einen Wiederherstellungs-Job für eine benutzerdefinierte Objektliste oder einen Amazon S3 Inventory-Bericht ausführen.

Voraussetzungen:

Gehe wie folgt vor, um mithilfe der Amazon S3-Konsole einen Batch Operation-Job zu erstellen und eine Wiederherstellung zu initiieren:

  1. Öffne dieAmazon-S3-Konsole.
  2. Wähle im Navigationsbereich Batch Operations aus.
  3. Wähle Job erstellen aus.
  4. Wähle unter Region die AWS-Region aus, in der du den Job erstellen möchtest.
  5. Gib unter Manifest auswählen Folgendes ein:
    Wähle unter Manifest-Format S3-Inventarbericht oder CSV als Dateiformat aus.
    Gib für Pfad zum Manifest-Objekt den S3-Pfad zur Manifestdatei ein, z. B. s3://awsexamplebucket/manifest.csv.
  6. Wähle Weiter aus.
  7. Gib unter Vorgang 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 im Feld Anzahl der Tage, für die die wiederhergestellte Kopie verfügbar ist, die Anzahl der Tage ein.
    Wähle für Wiederherstellung-Stufe entweder Massenabruf oder Standardabruf aus.
    Hinweis: S3-Batch-Operationen unterstützen die Abruf-Stufe Expedited nicht.
  8. Wähle Weiter aus.
  9. 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 des Jobs ein.
    Lass diese Option für Abschlussbericht erstellen aktiviert.
    Wähle für Umfang des Abschlussberichts die Option Nur fehlgeschlagene Aufgaben oder Alle Aufgaben aus.
    Gib unter Speicherpfad zum Abschlussbericht den Pfad ein, an den du den Bericht senden möchtest.
    Wähle für Berechtigung die Option Aus vorhandenen IAM-Rollen auswählen aus und wähle dann die IAM-Rolle aus, die über die erforderlichen Berechtigungen verfügt.
  10. Wähle Weiter aus.
  11. Überprüfe auf der Seite Überprüfen die Details des Jobs und wähle dann Job erstellen aus.
  12. Wähle den Job aus und klicke dann auf Bestätigen und ausführen.
  13. (Optional) Wenn du Abschlussbericht erstellen ausgewählt hast, überprüfe den Bericht nach Abschluss des Jobs. Du findest den Bericht unter dem von dir angegebenen Speicherpfad zum Abschlussbericht.

Eine Beschreibung der einzelnen Job-Zustände findest du unter Job-Zustände.

Wichtig: Der Wiederherstellungs-Job initiiert nur die Anforderung, Objekte wiederherzustellen. Nachdem du die Anforderung initiiert hast, meldet S3 Batch Operations den Job für das Objekt als abgeschlossen. Nachdem der Batch-Vorgang die Objekte wiederhergestellt hat, aktualisiert Amazon S3 den Job 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 Jobs findest du unter Fehlgeschlagene Jobs nachverfolgen.

Verwende einen benutzerdefinierten AWS-CLI-Befehl

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.

Verwende den folgenden benutzerdefinierten Befehl für dein Betriebssystem (OS), 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, läuft der Befehl möglicherweise ab. Verwende den Präfix-Parameter im Befehl, um die Anzahl der Objekte zu verringern.

Führe für ein Linux- oder UNIX-basiertes System den folgenden list-objects-Befehl aus, um alle S3 Glacier-Objekte im Bucket wiederherzustellen:

aws s3api list-objects --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 S3-Ordnerpfad und den StorageClass-Wert durch GLACIER oder DEEP_ARCHIVE.

Führe für ein Windows-basiertes System die folgenden Schritte aus:

  1. Führe den folgenden list-objects-Befehl aus, um alle S3 Glacier-Objekte im Bucket aufzulisten:

    aws s3api list-objects --bucket bucket-name --prefix your-prefix --query "Contents[?StorageClass==`GLACIER`][Key]" --output text > list.txt

    Die Liste der Objekte wird in einer Datei mit dem Namen list.txt gespeichert.

  2. 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: Für den vorherigen benutzerdefinierten AWS-CLI-Befehl fallen zusätzliche Gebühren für die Listen- und Datenabrufanforderungen an. Da es sich bei der list-objects-v2 API um einen paginierten Vorgang handelt, rufen mehrere API-Aufrufe den gesamten Ergebnisdatensatz ab.

Ähnliche Informationen

Grundlegendes zu den Optionen für den Archivabruf

Massenausführung von Objektoperationen mit Batch Operations

Verwaltung von S3 Batch Operations-Jobs

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 4 Monaten