Get Job Output (GET output) - Amazon S3 Glacier

Wenn Sie mit dem Archivierungsspeicher in Amazon Simple Storage Service (Amazon S3) noch nicht vertraut sind, empfehlen wir Ihnen, sich zunächst über die S3-Glacier-Speicherklassen in Amazon S3 (S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval und S3 Glacier Deep Archive) zu informieren. Weitere Informationen finden Sie unter S3 Glacier-Speicherklassen und Speicherklassen für die Archivierung von Objekten im Amazon S3 S3-Benutzerhandbuch.

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.

Get Job Output (GET output)

Beschreibung

Diese Operation lädt die Ausgabe des Auftrags herunter, den Sie mithilfe von Initiate Job (POST jobs) initiiert haben. Abhängig von dem Auftragstyp, den Sie spezifiziert haben, als Sie den Auftrag initiierten, wird die Ausgabe entweder der Inhalt eines Archivs oder ein Tresorinventar sein.

Sie können die gesamte Auftragsausgabe oder optional nur einen Teil der Auftragsausgabe herunterladen, indem Sie einen Bytebereich festlegen. Sowohl für Archivierungs- als auch für Inventarabrufaufträge sollten Sie die heruntergeladene Größe mit der Größe vergleichen, die in den Headern von der Antwort Get Job Output response zurückgegeben wird.

Bei Archivabrufaufträgen sollten Sie auch überprüfen, ob die Größe Ihren Erwartungen entspricht. Wenn Sie einen Teil der Ausgabe herunterladen, basiert die erwartete Größe auf dem von Ihnen angegebenen Bytebereich. Wenn Sie z. B. einen Bereich von bytes=0-1048575 angeben, sollten Sie überprüfen, ob die Größe Ihres Downloads 1 048 576 Bytes ist. Wenn Sie ein komplettes Archiv herunterladen, entspricht die erwartete Größe der Größe, die das Archiv hatte, als Sie es in Amazon S3 Glacier (S3 Glacier) hochgeladen haben. Die erwartete Größe wird auch in den Headern der Antwort Get Job Output zurückgegeben.

Im Falle eines Archivabrufauftrags gibt S3 Glacier abhängig vom angegebenen Bytebereich die Prüfsumme für den Teil der Daten zurück. Um sicherzustellen, dass der Teil, den Sie heruntergeladen haben, die korrekten Daten enthält, berechnen Sie die Prüfsumme auf dem Client, überprüfen Sie, ob die Werte übereinstimmen und ob die Größe Ihren Erwartungen entspricht.

Eine Auftrags-ID läuft mindestens 24 Stunden, nachdem S3 Glacier den Auftrag abgeschlossen hat, nicht ab. Das heißt, Sie können die Auftragsausgabe innerhalb von 24 Stunden nach Abschluss des Auftrags durch S3 Glacier herunterladen.

Anforderungen

Syntax

Um eine Auftragsausgabe abzurufen, senden Sie die HTTP-GET-Anfrage an den URI der output des jeweiligen Auftrags.

GET /AccountId/vaults/VaultName/jobs/JobID/output HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Range: ByteRangeToRetrieve x-amz-glacier-version: 2012-06-01

Anmerkung

Der AccountId-Wert ist die AWS-Konto-ID des Kontos, dem der Tresor gehört. Sie können entweder eine AWS-Konto-ID oder optional einen einzelnen Bindestrich („-“) angeben. Bei Angabe eines Bindestrichs verwendet Amazon S3 Glacier die AWS-Konto-ID, die mit den zum Signieren der Anforderung verwendeten Anmeldeinformationen verknüpft ist. Wenn Sie eine Konto-ID verwenden, darf die ID keine Bindestriche („-“) enthalten.

Anfrageparameter

Dieser Vorgang verwendet keine Anforderungsparameter.

Anforderungsheader

Bei diesem Vorgang werden zusätzlich zu den Anforderungs-Headern, die allen Vorgängen gemeinsam sind, die folgenden Anforderungs-Header verwendet. Weitere Informationen über allgemeine Anforderungsheader finden Sie unter Häufig verwendete Anforderungsheader.

Name Beschreibung Erforderlich
Range

Der Bytebereich, der von der Ausgabe abgerufen werden soll. Wenn Sie zum Beispiel die ersten 1 048 576 Bytes herunterladen möchten, geben Sie den Bereich an als bytes=0-1048575. Weitere Informationen finden Sie unter Range Header Field Definition. Der Bereich ist relativ zu jedem Bereich, der in der Anfrage zur Auftragsinitiierung angegeben wurde. Standardmäßig lädt diese Operation die gesamte Ausgabe herunter.

Wenn die Auftragsausgabe groß ist, können Sie den Header der Range-Anforderung verwenden, um einen Teil der Ausgabe abzurufen. Damit können Sie die gesamte Ausgabe in kleineren Byte-Blöcken herunterladen. Angenommen, Sie haben 1 GB Auftragsausgabe, die Sie herunterladen möchten, und Sie beschließen, jeweils Datenblöcke von 128 MB herunterzuladen, insgesamt also acht Anfragen zum Abrufen von Auftragsausgaben. Sie können die Auftragsausgabe mithilfe des folgenden Prozesses herunterladen:

  1. Laden Sie einen Block von 128 MB der Ausgabe herunter, indem Sie den entsprechenden Bytebereich mithilfe des Range-Headers angeben. Überprüfen Sie, ob Sie alle 128 MB Daten erhalten haben.

  2. Zusammen mit den Daten wird die Antwort eine Prüfsumme der Nutzlast enthalten. Sie berechnen die Prüfsumme der Nutzlast auf dem Client und vergleichen sie mit der Prüfsumme, die Sie in der Antwort erhalten haben, um sicherzustellen, dass Sie alle erwarteten Daten erhalten haben.

  3. Wiederholen Sie die Schritte 1 und 2 für alle acht 128 MB großen Datenblöcke der Ausgabe, wobei Sie jeweils den entsprechenden Bytebereich angeben.

  4. Nach dem Herunterladen aller Teile der Auftragsausgabe haben Sie eine Liste mit acht Prüfsummenwerten. Berechnen Sie den Struktur-Hash dieser Werte, um die Prüfsumme der gesamten Ausgabe zu ermitteln. Mit der Operation Describe Job (GET JobID) erhalten Sie Informationen zu dem Auftrag, der Ihnen die Ausgabe bereitgestellt hat. Die Antwort enthält die Prüfsumme des gesamten in S3 Glacier gespeicherten Archivs. Sie vergleichen diesen Wert mit der von Ihnen berechneten Prüfsumme, um sicherzustellen, dass Sie den gesamten Archivinhalt fehlerfrei heruntergeladen haben.

Typ: Zeichenfolge

Standard: keiner

Einschränkungen: Keine

Nein

Anforderungstext

Dieser Vorgang besitzt keinen Anforderungstext.

Antworten

Syntax

Bei einer Anfrage zum Abruf, die alle Auftragsdaten zurückgibt, gibt die Auftragsausgabeantwort einen 200 OK-Antwortcode zurück. Wenn Teile des Inhalts angefragt werden, z. B. wenn Sie in der Anfrage den Range-Header angegeben haben, wird der Antwortcode 206 Partial Content zurückgegeben.

HTTP/1.1 200 OK x-amzn-RequestId: x-amzn-RequestId Date: Date Content-Type: ContentType Content-Length: Length x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier [Body containing job output.]

Antwort-Header

Header Beschreibung
Content-Range

Der von S3 Glacier zurückgegebene Bytebereich. Wenn nur ein Teil der Ausgabe heruntergeladen wird, enthält die Antwort den Bytebereich, den S3 Glacier zurückgegeben hat.

Zum Beispiel gibt bytes 0-1048575/8388608 die ersten 1 MB von 8 MB zurück.

Weitere Informationen über den Content-Range-Header finden Sie unter Content-Range Header Field Definition.

Typ: Zeichenfolge

Content-Type

Der Inhaltstyp hängt davon ab, ob die Auftragsausgabe ein Archiv oder ein Tresorinventar ist.

  • Für Archivdaten ist der Inhaltstyp application/octet-stream.

  • Für Tresorinventar, wenn Sie bei der Initiierung des Auftrags das CSV-Format angefragt haben, ist der Inhaltstyp text/csv. Andernfalls wird Tresorinventar standardmäßig als JSON zurückgegeben und der Inhaltstyp ist application/json.

Typ: Zeichenfolge

x-amz-sha256-tree-hash

Die Prüfsumme der Daten in der Antwort. Dieser Header wird nur zurückgegeben, wenn die Ausgabe eines Archivabrufauftrags abgerufen wird. Darüber hinaus wird dieser Header angezeigt, wenn der abgerufene Datenbereich, der in der Anfrage zur Auftragsinitiierung angefragt wurde, mit dem Struktur-Hash abgeglichen ist und der herunterzuladende Bereich in „Get Job Output“ ebenfalls mit dem Struktur-Hash abgeglichen ist. Weitere Informationen zum Abgleichen von Bereichen mit dem Struktur-Hash finden Sie unter Erhalten von Prüfsummen bei Daten-Download.

Wenn Sie z. B. in Ihrer Anfrage zur Auftragsinitiierung einen mit dem Struktur-Hash abgeglichenen Bereich angegeben haben (der das gesamte Archiv umfasst), dann erhalten Sie die Prüfsumme der von Ihnen heruntergeladenen Daten unter den folgenden Bedingungen:

  • Sie erhalten den gesamten Bereich der abgerufenen Daten.

  • Sie fordern einen Bytebereich der abgerufenen Daten an, der die Größe von einem Megabyte (1024 KB) multipliziert mit dem Faktor 2 hat und mit einem Vielfachen der Größe des angeforderten Bereichs beginnt und endet. Wenn Sie z. B. 3,1 MB an abgerufenen Daten haben und Sie einen Bereich für die Rückgabe bestimmen, der bei 1 MB beginnt und bei 2 MB endet, dann wird der x-amz-sha256-tree-hash als ein Antwort-Header zurückgegeben.

  • Sie fordern einen Bereich zur Rückgabe der abgerufenen Daten an, der bis zum Ende der Daten reicht, und der Beginn des Bereichs ist ein Vielfaches der Größe des abzurufenden Bereichs, aufgerundet bis zum nächsten Faktor von zwei, aber nicht kleiner als ein Megabyte (1024 KB). Wenn Sie z. B. 3,1 MB an abgerufenen Daten haben und Sie einen Bereich für die Rückgabe bestimmen, der bei 2 MB beginnt und bei 3.1 MB (dem Ende der Daten) endet, dann wird der x-amz-sha256-tree-hash als ein Antwort-Header zurückgegeben.

Typ: Zeichenfolge

Antworttext

S3 Glacier gibt die Auftragsausgabe im Antworttext zurück. Je nach Auftragstyp kann die Ausgabe der Inhalt eines Archivs oder das Tresorinventar sein. Im Falle eines Tresorinventars wird standardmäßig die Inventarliste als folgender JSON-Text zurückgegeben.

{ "VaultARN": String, "InventoryDate": String, "ArchiveList": [ {"ArchiveId": String, "ArchiveDescription": String, "CreationDate": String, "Size": Number, "SHA256TreeHash": String }, ... ] }

Wenn Sie das CSV-Ausgabeformat (kommaseparierte Werte) bei der Initiierung des Tresorinventarauftrags angefordert haben, wird das Tresorinventar im CSV-Format im Text zurückgegeben. Das CSV-Format hat fünf Spalten, „ArchiveId“, „ArchiveDescription“, „CreationDate“, „Size“ und „SHA256TreeHash“, mit denselben Definitionen wie die entsprechenden JSON-Felder.

Anmerkung

In dem zurückgegebenen CSV-Format können Felder zurückgegeben werden, die vollständig in doppelten Anführungszeichen eingeschlossen sind. Felder, die ein Komma oder doppelte Anführungszeichen enthalten, werden immer eingeschlossen in doppelten Anführungszeichen zurückgegeben. Zum Beispiel wird my archive description,1 als "my archive description,1" zurückgegeben. Doppelte Anführungszeichen, die innerhalb von zurückgegebenen Feldern sind, die in doppelten Anführungszeichen eingeschlossen sind, werden durch einen vorangestellten umgekehrten Schrägstrich als Escape-Zeichen geschützt. Zum Beispiel wird my archive description,1"2 zurückgegeben als "my archive description,1\"2" und my archive description,1\"2 zurückgegeben als "my archive description,1\\"2". Das umgekehrte Schrägstrichzeichen wird nicht durch ein Escape-Zeichen geschützt.

Der JSON-Antworttext enthält die folgenden JSON-Felder.

ArchiveDescription

Die Beschreibung eines Archivs.

Typ: Zeichenfolge

ArchiveId

Die ID eines Archivs.

Typ: Zeichenfolge

ArchiveList

Ein Array von Archivmetadaten. Jedes Objekt in dem Array steht für Metadaten für ein im Tresor enthaltenes Archiv.

Typ: Array

CreationDate

Datum und Uhrzeit (UTC), wann das Archiv erstellt wurde.

Typ: Eine Zeichenkettendarstellung im ISO 8601-Datumsformat, z. B. 2013-03-20T17:03:43.221Z.

InventoryDate

Datum und Uhrzeit (UTC) der letzten Inventur für den Tresor, die nach Änderungen am Tresor abgeschlossen wurde. Obwohl S3 Glacier einmal täglich eine Tresorinventur durchführt, wird das Datum der Inventur nur dann aktualisiert, wenn seit der letzten Inventur etwas zum Archiv hinzugefügt oder daraus gelöscht wurde.

Typ: Eine Zeichenkettendarstellung im ISO 8601-Datumsformat, z. B. 2013-03-20T17:03:43.221Z.

SHA256TreeHash

Der Struktur-Hash des Archivs.

Typ: Zeichenfolge

Größe

Die Größe des Archivs in Bytes.

Typ: Zahl

VaultARN

Die ARN-Ressource (Amazon-Ressourcenname), von der der Archivabruf angefordert wurde.

Typ: Zeichenfolge

Fehler

Weitere Informationen über Ausnahmen und Fehlermeldungen in Amazon S3 Glacier finden Sie unter Fehlermeldungen.

Beispiele

Das folgende Beispiel zeigt die Anfrage für einen Auftrag, der ein Archiv abruft.

Beispiel 1: Ausgabe herunterladen

In diesem Beispiel werden die Daten abgerufen, die von S3 Glacier als Antwort auf die Auftragsanforderung zur Initiierung eines Archivabrufs vorbereitet wurden.

Beispielanfrage

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2

Beispielantwort

Es folgt eine Beispielantwort eines Archivabrufauftrags. Beachten Sie, dass der Content-Type-Header application/octet-stream ist und dass der x-amz-sha256-tree-hash-Header in der Antwort enthalten ist, das heißt, dass alle Auftragsdaten zurückgegeben wurden.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60 Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/octet-stream Content-Length: 1048576 [Archive data.]

Es folgt eine Beispielantwort eines Inventarabrufauftrags. Beachten Sie, dass der Content-Type-Header application/json ist. Beachten Sie auch, dass die Antwort nicht den x-amz-sha256-tree-hash-Header enthält.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/json Content-Length: 906 { "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault", "InventoryDate": "2011-12-12T14:19:01Z", "ArchiveList": [ { "ArchiveId": "DMTmICA2n5Tdqq5BV2z7og-A20xnpAPKt3UXwWxdWsn_D6auTUrW6kwy5Qyj9xd1MCE1mBYvMQ63LWaT8yTMzMaCxB_9VBWrW4Jw4zsvg5kehAPDVKcppUD1X7b24JukOr4mMAq-oA", "ArchiveDescription": "my archive1", "CreationDate": "2012-05-15T17:19:46.700Z", "Size": 2140123, "SHA256TreeHash": "6b9d4cf8697bd3af6aa1b590a0b27b337da5b18988dbcc619a3e608a554a1e62" }, { "ArchiveId": "2lHzwhKhgF2JHyvCS-ZRuF08IQLuyB4265Hs3AXj9MoAIhz7tbXAvcFeHusgU_hViO1WeCBe0N5lsYYHRyZ7rrmRkNRuYrXUs_sjl2K8ume_7mKO_0i7C-uHE1oHqaW9d37pabXrSA", "ArchiveDescription": "my archive2", "CreationDate": "2012-05-15T17:21:39.339Z", "Size": 2140123, "SHA256TreeHash": "7f2fe580edb35154041fa3d4b41dd6d3adaef0c85d2ff6309f1d4b520eeecda3" } ] }

Beispiel 2: Ausgabe nur teilweise herunterladen

In diesem Beispiel wird nur ein Teil des Archivs abgerufen, das von S3 Glacier als Antwort auf Ihre Auftragsanforderung zur Initiierung eines Archivabrufs vorbereitet wurde. Die Anfrage verwendet den optionalen Range-Header, um nur die ersten 1 024 Bytes abzurufen.

Beispielanfrage

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Range: bytes=0-1023 x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2

Beispielantwort

Die folgende erfolgreiche Antwort zeigt die 206 Partial Content-Antwort. In diesem Fall enthält die Antwort auch einen Content-Range-Header mit dem Bytebereich, den S3 Glacier zurückgibt.

HTTP/1.1 206 Partial Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range: bytes 0-1023/8388608 Content-Type: application/octet-stream Content-Length: 1024 [Archive data.]