Diese Seite richtet sich nur an Bestandskunden des S3 Glacier-Dienstes, die Vaults und das Original REST API von 2012 verwenden.
Wenn Sie nach Archivspeicherlösungen suchen, empfehlen wir die Verwendung der S3 Glacier-Speicherklassen in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive. Weitere Informationen zu diesen Speicheroptionen finden Sie unter S3 Glacier-Speicherklassen
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Hochladen von großen Archiven mithilfe der AWS CLI
Sie können ein Archiv in Amazon S3 Glacier (S3 Glacier) hochladen, indem Sie AWS Command Line Interface (AWS CLI) verwenden. Um das Upload-Erlebnis für größere Archive zu verbessern, bietet S3 Glacier mehrere API Operationen zur Unterstützung mehrteiliger Uploads. Mithilfe dieser API Operationen können Sie Archive in Teilen hochladen. Diese Teile können unabhängig voneinander in beliebiger Reihenfolge und parallel hochgeladen werden. Wenn der Upload eines Teils fehlschlägt, müssen Sie nur diesen Teil und nicht das gesamte Archiv erneut hochladen. Sie können mehrteilige Uploads für Archive mit einer Größe von 1 Byte bis zu ca. 40 000 Gibibytes (GiB) verwenden.
Weitere Informationen über mehrteilige Uploads in S3 Glacier finden Sie unter Hochladen von großen Archiven in Teilen (Multipart Upload).
Themen
(Voraussetzung) Einrichtung des AWS CLI
-
Herunterladen und Konfigurieren von AWS CLI. Eine Anleitung finden Sie unter den folgenden Themen im AWS Command Line Interface -Benutzerhandbuch:
-
Überprüfen Sie Ihr AWS CLI Setup, indem Sie die folgenden Befehle an der Eingabeaufforderung eingeben. Diese Befehle stellen nicht explizit Anmeldeinformationen bereit, daher werden die Anmeldeinformationen des Standardprofils verwendet.
-
Versuchen Sie, den Befehl help zu verwenden.
aws help
-
Verwenden Sie den
list-vaults
-Befehl, um eine Liste der S3-Glacier-Tresore für das konfigurierte Konto abzurufen. Ersetzen123456789012
mit deiner AWS-Konto ID.aws glacier list-vaults --account-id
123456789012
-
Um die aktuellen Konfigurationsdaten für zu sehen AWS CLI, verwenden Sie den
aws configure list
Befehl.aws configure list
-
(Voraussetzung) Installieren von Python
Um einen mehrteiligen Upload abzuschließen, müssen Sie den SHA256 Tree-Hash des Archivs berechnen, das Sie hochladen. Dies unterscheidet sich von der Berechnung des SHA256 Baumhashs der Datei, die Sie hochladen möchten. Um den SHA256 Baumhash des Archivs zu berechnen, das Sie hochladen, können Sie C# (Javawith) verwenden. NET), oder. Python In diesem Beispiel verwenden Sie Python. Anweisungen zur Verwendung von Java oder C# finden Sie unter Berechnen von Prüfsummen.
Informationen über das Installieren von Python finden Sie unter Installieren von Python
(Voraussetzung) Erstellen eines S3-Glacier-Tresors
Für die Verwendung des folgenden Beispiels muss mindestens ein S3-Glacier-Tresor erstellt worden sein. Weitere Informationen zum Erstellen von Tresoren finden Sie unter Erstellen eines Tresors in Amazon S3 Glacier.
Beispiel: Teilweises Hochladen großer Archive mithilfe der AWS CLI
In diesem Beispiel erstellen Sie eine Datei und verwenden mehrteilige API Upload-Operationen, um diese Datei teilweise hochzuladen. Amazon S3 Glacier
Wichtig
Bevor Sie mit diesem Verfahren beginnen, stellen Sie sicher, dass alle Voraussetzungen erfüllt sind. Um ein Archiv hochzuladen, müssen Sie einen Tresor erstellt und AWS CLI konfiguriert haben und bereit seinJava, C# zu verwenden oder einen Python SHA256 Tree-Hash zu berechnen.
Das folgende Verfahren verwendet die complete-multipart-upload
AWS CLI Befehle initiate-multipart-upload
upload-multipart-part
, und.
Ausführliche Informationen zu diesen Befehlen finden Sie unter initiate-multipart-upload, upload-multipart-part und complete-multipart-upload in der AWS CLI -Befehlsreferenz.
-
Verwenden Sie den initiate-multipart-upload-Befehl, um eine Ressource für den mehrteiligen Upload zu erstellen. Geben Sie in der Anforderung die Größe der einzelnen Teile in Bytes an. Mit Ausnahme des letzten Teils muss jeder der hochzuladenden Teile diese Größe aufweisen. Sie müssen beim Initiieren eines mehrteiligen Uploads die Gesamtgröße des Archivs nicht kennen. Sie benötigen jedoch die Gesamtgröße jedes Teils in Byte, wenn Sie den Upload im letzten Schritt abschließen.
Ersetzen Sie im folgenden Befehl die Werte für die Parameter
--vault-name
und--account-ID
durch Ihre eigenen Informationen. Dieser Befehl gibt an, dass Sie ein Archiv mit einer Teilegröße von 1 Mebibyte (MiB) (1 024 x 1 024 Byte) pro Datei hochladen. Ersetzen Sie diesen--part-size
-Parameterwert bei Bedarf.aws glacier initiate-multipart-upload --vault-name
awsexamplevault
--part-size1048576
--account-id123456789012
Erwartete Ausgabe:
{ "location": "/
123456789012
/vaults/awsexamplevault
/multipart-uploads/uploadId
", "uploadId": "uploadId
" }Nach Abschluss gibt der Befehl die Upload-ID und den Speicherort der Ressource für den mehrteiligen Upload in S3 Glacier aus. Sie verwenden diese Upload-ID in den nachfolgenden Schritten.
-
In diesem Beispiel können Sie die folgenden Befehle verwenden, um eine Datei mit 4,4 MiB zu erstellen, sie in Blöcke von 1 MiB aufzuteilen und die einzelnen Blöcke hochzuladen. Um Ihre eigenen Dateien hochzuladen, können Sie die Daten mit diesem Verfahren in Blöcke aufteilen und die einzelnen Teile hochladen.
Linux oder macOS
Der folgende Befehl erstellt eine 4,4 MiB große Datei mit dem Namen
file_to_upload
unter Linux oder macOS.mkfile -n 9000b
file_to_upload
Windows
Der folgende Befehl erstellt eine 4,4 MiB große Datei mit dem Namen
file_to_upload
unter Windows.fsutil file createnew
file_to_upload
4608000 -
Als Nächstes teilen Sie diese Datei in Blöcke von 1 MiB auf.
split -b 1048576
file_to_upload
chunkSie haben nun die folgenden fünf Blöcke. Die ersten vier sind 1 MiB groß, der letzte ist ungefähr 400 Kibibyte (KiB) groß.
chunkaa chunkab chunkac chunkad chunkae
-
Verwenden Sie den upload-multipart-part-Befehl, um einen Teil eines Archivs hochzuladen. Sie können die Archivteile in beliebiger Reihenfolge hochladen. Sie können die Teile auch parallel hochladen. Sie können bis zu 10 000 Teile für einen mehrteiligen Upload hochladen.
Ersetzen Sie im folgenden Befehl die Werte für die Parameter
--vault-name
,--account-ID
und--upload-id
. Die Upload-ID muss mit der ID übereinstimmen, die in der Ausgabe desinitiate-multipart-upload
-Befehls angegeben wurde. Der--range
-Parameter gibt an, dass Sie einen Teil mit einer Größe von 1 MiB (1 024 x 1 024 Byte) hochladen. Diese Größe muss mit der Größe übereinstimmen, die Sie iminitiate-multipart-upload
-Befehl angegeben haben. Passen Sie diesen Größenwert bei Bedarf an. Der--body
-Parameter gibt den Namen des Teils an, den Sie hochladen.aws glacier upload-multipart-part --body
chunkaa
--range='bytes 0-1048575/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
Bei erfolgreicher Ausführung erzeugt der Befehl eine Ausgabe, die die Prüfsumme für den hochgeladenen Teil enthält.
-
Führen Sie den
upload-multipart-part
-Befehl erneut aus, um die verbleibenden Teile Ihres mehrteiligen Uploads hochzuladen. Aktualisieren Sie die Parameterwerte für--range
und–-body
in jeden Befehl so, dass sie mit dem Teil übereinstimmen, den Sie hochladen.aws glacier upload-multipart-part --body
chunkab
--range='bytes 1048576-2097151/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
aws glacier upload-multipart-part --body
chunkac
--range='bytes 2097152-3145727/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
aws glacier upload-multipart-part --body
chunkad
--range='bytes 3145728-4194303/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
aws glacier upload-multipart-part --body
chunkae
--range='bytes 4194304-4607999/*'
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
Anmerkung
Der
--range
-Parameterwert des letzten Befehls ist kleiner, da der letzte Teil des Uploads kleiner als 1 MiB ist. Bei erfolgreicher Ausführung erzeugt jeder Befehl eine Ausgabe, die die Prüfsumme für den hochgeladenen Teil enthält. -
Als Nächstes stellen Sie das Archiv zusammen und schließen den Upload ab. Sie müssen die Gesamtgröße und den SHA256 Baumhash des Archivs angeben.
Um den SHA256 Baumhash des Archivs zu berechnen, können Sie C# oder Python verwendenJava. In diesem Beispiel verwenden Sie Python. Anweisungen zur Verwendung von Java oder C# finden Sie unter Berechnen von Prüfsummen.
Erstellen Sie die Python-Datei
checksum.py
und fügen Sie den folgenden Code ein. Falls erforderlich, ersetzen Sie den Namen der Originaldatei.from botocore.utils import calculate_tree_hash checksum = calculate_tree_hash(open('
file_to_upload
', 'rb')) print(checksum) -
Führen Sie
checksum.py
den Befehl aus, um den SHA256 Baumhash zu berechnen. Der folgende Hash stimmt möglicherweise nicht mit Ihrer Ausgabe überein.$
python3 checksum.py$
3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c -
Verwenden Sie den complete-multipart-upload-Befehl, um den Upload des Archivs abzuschließen. Ersetzen Sie die Werte für die Parameter
--vault-name
,--account-ID
,--upload-ID
und--checksum
. Der--archive
-Parameterwert gibt die Gesamtgröße des Archivs in Byte an. Dieser Wert muss die Summe aller Größen der einzelnen Teile sein, die Sie hochgeladen haben. Ersetzen Sie diesen Wert bei Bedarf.aws glacier complete-multipart-upload --archive-size
4608000
--vault-nameawsexamplevault
--account-id123456789012
--upload-idupload_ID
--checksumchecksum
Nach Abschluss gibt der Befehl die ID, die Prüfsumme und den Speicherort des Archivs in S3 Glacier aus.