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 großer Archive mit demAWS CLI
Sie können ein Archiv in Amazon S3 Glacier (S3 Glacier) hochladen, indem Sie dieAWS 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 ein Teilupload fehlschlägt, müssen Sie nur diesen Teil erneut hochladen, nicht das gesamte Archiv. Sie können mehrteilige Uploads für Archive mit einer Größe von 1 Byte bis etwa 40.000 Gibibytes (GiB) verwenden.
Weitere Informationen zu den mehrteiligen S3 Glacier-Uploads finden Sie unterHochladen von großen Archiven in Teilen (Multipart Upload).
Themen
(Voraussetzung) Einrichten der 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 IhreAWS CLI Einrichtung, indem Sie die folgenden Befehle in die in die in die in die in die in die in beschriebenen Schritte ausführen. 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. Ersetzen Sie123456789012
durch IhreAWS-Konto ID.aws glacier list-vaults --account-id
123456789012
-
Um die aktuellen Konfigurationsdaten für zu sehenAWS CLI, verwenden Sie den
aws configure list
Befehl.aws configure list
-
(Voraussetzung) InstallierenPython
Um einen mehrteiligen Upload abzuschließen, müssen Sie den SHA256-Baum-Hash des Archivs berechnen, das Sie hochladen. Dies ist etwas anderes als die Berechnung des SHA256-Baum-Hashs der Datei, die Sie hochladen möchten. Um den SHA256-Baum-Hash des Archivs zu berechnen, das Sie hochladen, können Sie C# (mit.NET) oder verwendenJavaPython. In diesem Beispiel verwenden SiePython. Anweisungen zur Verwendung vonJava oder C# finden Sie unterBerechnen von Prüfsummen.
Weitere Informationen zur InstallationPython finden Sie unter Installieren oder AktualisierenPython
(Voraussetzung) Erstellen Sie einen S3 Glacier Vault
Um das folgende Beispiel verwenden zu können, müssen Sie mindestens einen S3 Glacier-Tresor erstellt haben. Weitere Informationen zum Erstellen von Tresoren finden Sie unterErstellen eines Tresors in Amazon S3 Glacier.
Beispiel: Ausschnittsweises Hochladen großer Archive mithilfe desAWS CLI
In diesem Beispiel erstellen Sie eine Datei und verwenden mehrteilige Upload-API-Operationen, um diese Datei teilweise hochzuladenAmazon S3 Glacier.
Wichtig
Bevor Sie mit diesem Verfahren beginnen, stellen Sie sicher, dass Sie die in in den in in in in beschriebenen Schritte ausgeführt haben. Um ein Archiv hochzuladen, müssen Sie einen Tresor erstellt undAWS CLI konfiguriert haben und bereit seinJava, C# zu verwenden oder einen SHA256-Baum-HashPython zu berechnen.
Das folgende Verfahren verwendet diecomplete-multipart-upload
AWS CLI Befehleinitiate-multipart-upload
upload-multipart-part
, und.
Ausführlichere Informationen zu den einzelnen Befehlen finden Sie unter initiate-multipart-uploadupload-multipart-part, und complete-multipart-uploadin der AWS CLIBefehlsreferenz.
-
Verwenden Sie den initiate-multipart-uploadBefehl, um eine mehrteilige Upload-Ressource zu erstellen. Geben Sie in Ihrer Anfrage die Bauteilgröße in Bytes an. Jeder Teil, den Sie hochladen, mit Ausnahme des letzten Teils, hat diese Größe. Sie müssen die Gesamtgröße des Archivs nicht kennen, wenn Sie einen Upload starten. 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 in
--vault-name
und--account-ID
-Parameter mit Ihren eigenen Informationen. Dieser Befehl gibt an, dass Sie ein Archiv mit einer Teilgröße von 1 Mebibyte (MiB) (1024 x 1024 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
" }Wenn der Befehl abgeschlossen ist, gibt er die Upload-ID und den Standort der mehrteiligen Upload-Ressource in S3 Glacier aus. Sie werden diese Upload-ID in den nachfolgenden Schritten verwenden.
-
In diesem Beispiel können Sie die folgenden Befehle verwenden, um eine 4,4-MiB-Datei zu erstellen, sie in 1-MiB-Chunks aufzuteilen und jeden Chunk hochzuladen. Um Ihre eigenen Dateien hochzuladen, können Sie ein ähnliches Verfahren anwenden, indem Sie Ihre Daten in Blöcke aufteilen und jeden Teil hochladen.
Linux oder macOS
Der folgende Befehl erstellt eine 4,4 MiB-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-Datei mit dem Namen
file_to_upload
unter Windows.fsutil file createnew
file_to_upload
4608000 -
Als Nächstes teilen Sie diese Datei in 1-MiB-Chunks auf.
split -b 1048576
file_to_upload
chunkSie haben jetzt die folgenden fünf Chunks. Die ersten vier sind 1 MiB und die letzten ungefähr 400 Kibibytes (KiB).
chunkaa chunkab chunkac chunkad chunkae
-
Verwenden Sie den upload-multipart-partBefehl, um einen Teil eines Archivs hochzuladen. Sie können die in beliebiger Reihenfolge die in die in die in die in beschriebenen Teile hochladen. Sie können sie 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
--upload-id
Parameter--vault-name
--account-ID
, und. Die Upload-ID muss mit der ID übereinstimmen, die als Ausgabe desinitiate-multipart-upload
Befehls angegeben wurde. Der--range
Parameter gibt an, dass Sie einen Teil mit einer Größe von 1 MiB (1024 x 1024 Byte) hochladen. Diese Größe muss mit dem übereinstimmen, was 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
Wenn der Befehl erfolgreich ist, 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--range
–-body
AND-Parameterwerte für jeden Befehl, sodass sie dem Teil entsprechen, 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 unseres Uploads weniger als 1 MiB beträgt. Bei Erfolg erzeugt jeder Befehl eine Ausgabe, die die Prüfsumme für jeden hochgeladenen Teil enthält. -
Als Nächstes stellen Sie das Archiv zusammen und beenden den Upload. Sie müssen die Gesamtgröße und den SHA256-Baum-Hash des Archivs angeben.
Um den SHA256-Baum-Hash des Archivs zu berechnen, können Sie C# oder verwendenJavaPython. In diesem Beispiel verwenden SiePython. Anweisungen zur Verwendung vonJava oder C# finden Sie unterBerechnen von Prüfsummen.
Erstellen Sie diePython Datei
checksum.py
und fügen Sie den folgenden Code ein. Ersetzen Sie bei Bedarf 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
diesen Befehl aus, um den SHA256-Baum-Hash zu berechnen. Der folgende Hash entspricht möglicherweise nicht Ihrer Ausgabe.$
python3 checksum.py$
3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c -
Verwenden Sie den complete-multipart-uploadBefehl, um den Archiv-Upload abzuschließen. Ersetzen Sie die Werte für die
--checksum
Parameter--vault-name
--account-ID
--upload-ID
,, und. 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
Wenn der Befehl abgeschlossen ist, gibt er die ID, die Prüfsumme und den Speicherort des Archivs in S3 Glacier aus.