Get Job Output (GET output) - Amazon S3 Glacier

Questa pagina è riservata ai clienti esistenti del servizio S3 Glacier che utilizzano Vaults e l'originale del 2012. REST API

Se stai cercando soluzioni di archiviazione, ti consigliamo di utilizzare le classi di storage S3 Glacier in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Per ulteriori informazioni su queste opzioni di storage, consulta le classi di storage S3 Glacier e lo storage dei dati a lungo termine con le classi di storage S3 Glacier nella Amazon S3 User Guide. Queste classi di storage utilizzano Amazon S3API, sono disponibili in tutte le regioni e possono essere gestite all'interno della console Amazon S3. Offrono funzionalità come Storage Cost Analysis, Storage Lens, funzionalità di crittografia opzionali avanzate e altro ancora.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Get Job Output (GET output)

Descrizione

Questa operazione scarica l'output del processo avviato utilizzando Initiate Job (offerte di POST lavoro). A seconda del tipo di processo specificato all'avvio del processo, l'output sarà il contenuto di un archivio o di un inventario vault.

Puoi scaricare tutto l'output del processo o soltanto una parte specificando un intervallo di byte. Per i processi di recupero di archivio e di inventario, devi confrontare la dimensione scaricata e quella restituita nelle intestazioni della risposta Get Job Output.

Per i processi di recupero di archivio, devi inoltre verificare che la dimensione sia quella prevista. Se scarichi una parte dell'output, la dimensione prevista è basata sull'intervallo di byte specificato. Ad esempio, se specifichi un intervallo bytes=0-1048575, la dimensione del download deve essere 1.048.576 byte. Se esegui il download di un intero archivio, la dimensione prevista è quella dell'archivio quando lo hai caricato in Amazon S3 Glacier (S3 Glacier). La dimensione prevista è inoltre restituita nelle intestazioni dalla risposta Get Job Output.

Nel caso di un processo di recupero di archivio, a seconda dell'intervallo di byte specificato, S3 Glacier restituisce il checksum per quella parte di dati. Per assicurarti che la parte scaricata sia quella corretta, calcola il checksum sul client, verifica che i valori corrispondano e che la dimensione sia quella prevista.

Un ID processo non scade per almeno 24 ore dopo che S3 Glacier ha completato il processo. Ciò significa che hai 24 ore di tempo per eseguire il download dell'output del processo dopo che S3 Glacier ha completato il processo.

Richieste

Sintassi

Per recuperare un processo di output, invii la richiesta HTTP GET all'URI dell'output del processo.

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

Nota

Il valore AccountId è l'ID dell'Account AWS dell'account proprietario del vault. Puoi specificare l'ID dell'Account AWS o eventualmente un "-" (trattino), nel qual caso Amazon S3 Glacier utilizza l'ID dell'Account AWS associato alle credenziali utilizzate per firmare la richiesta. Se utilizzi un ID account, non includere alcun trattino ("-") nell'ID.

Parametri della richiesta

Questa operazione non utilizza parametri richiesta.

Intestazioni di richiesta

Questa operazione utilizza le seguenti intestazioni di richiesta, oltre alle intestazioni di richiesta comuni a tutte le operazioni. Per ulteriori informazioni sulle intestazioni richiesta comuni, consulta Intestazioni di richiesta comuni.

Nome Descrizione Obbligatorio
Range

L'intervallo di byte da recuperare dall'output. Ad esempio, se desideri scaricare i primi 1.048.576 byte, specifica l'intervallo bytes=0-1048575. Per ulteriori informazioni, consulta la sezione relativa alla definizione del campo dell'intestazione Range. L'intervallo è relativo a qualsiasi intervallo specificato nella richiesta Initiate Job. Per impostazione predefinita, questa operazione scarica l'intero output.

Se l'output del processo è di grandi dimensioni, puoi utilizzare l'intestazione della richiesta Range per recuperare una parte dell'output. Ciò ti consente di scaricare l'intero output in blocchi di byte più piccoli. Ad esempio, supponi di avere un output di processo di 1 GB e che decidi di scaricarlo in blocchi di 128 MB di dati mediante otto richieste Get Job Output. Per scaricare l'output, devi procedere come segue:

  1. Scarica un blocco di 128 MB di output specificando l'intervallo di byte appropriato mediante l'intestazione Range. Verifica che tutti i 128 MB di dati siano stati scaricati.

  2. Oltre ai dati, la risposta includerà un checksum del payload. Per assicurarti di aver ricevuto tutti i dati previsti, calcola il checksum del payload sul client e confrontalo con il checksum ricevuto nella risposta.

  3. Ripeti le fasi 1 e 2 per tutti i blocchi di 128 MB di dati dell'output, specificando ogni volta l'intervallo di byte appropriato.

  4. Dopo il download di tutte le parti dell'output, hai un elenco di otto valori di checksum. Calcola la struttura hash di questi valori per trovare il checksum dell'intero output. Con l'operazione Describe Job (GET JobID), ottieni le informazioni sul processo relativo all'output. La risposta include il checksum dell'intero archivio memorizzato in S3 Glacier. Confronta questo valore con il checksum che hai calcolato per accertarti di aver scaricato l'intero contenuto dell'archivio senza errori.

Tipo: string

Impostazione predefinita: nessuna

Vincoli: nessuno

No

Corpo della richiesta

Questa operazione non ha un corpo della richiesta.

Risposte

Sintassi

Per una richiesta di recupero che restituisce tutti i dati del processo, la risposta del relativo output restituisce un codice di risposta 200 OK. Quando viene richiesto un contenuto parziale, ad esempio, se hai specificato l'intestazione Range nella richiesta, viene restituito il codice di risposta 206 Partial Content.

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.]

Intestazioni di risposta

Intestazione Descrizione
Content-Range

L'intervallo di byte restituiti da S3 Glacier. Se viene eseguito il download del solo output parziale, la risposta fornisce l'intervallo di byte restituito da S3 Glacier.

Ad esempio, bytes 0-1048575/8388608 restituisce il primo blocco da 1 MB di 8 MB.

Per ulteriori informazioni sull'intestazione Content-Range, consulta la pagina relativa alla definizione del campo dell'intestazione Content-Range.

Tipo: string

Content-Type

Content-Type varia a seconda se l'output del processo è un archivio o un inventario vault.

  • Per i dati dell'archivio, Content-Type è application/octet-stream.

  • Per un inventario vault, se hai richiesto il formato CSV all'avvio del processo, Content-Type è text/csv. In caso contrario, per impostazione predefinita, l'inventario vault viene restituito in formato JSON e Content-Type è application/json.

Tipo: string

x-amz-sha256-tree-hash

Il checksum dei dati nella risposta. Questa intestazione viene restituita solo per il recupero dell'output di un processo di recupero di archivio. Viene inoltre visualizzata quando l'intervallo di dati richiesto in Initiate Job è allineato alla struttura hash e l'intervallo da scaricare richiesto nelle richiesta Get Job Output è anch'esso allineato alla struttura hash. Per ulteriori informazioni sugli intervalli allineati alla struttura hash, vedi Ottenimento di checksum durante il download di dati.

Ad esempio, se nella richiesta Initiate Job hai specificato un intervallo da recuperare che è allineato alla struttura hash (include l'intero archivio), riceverai il checksum dei dati che scarichi quando:

  • Ottieni tutto l'intervallo dei dati recuperati.

  • Richiedi un intervallo di byte dei dati recuperati che ha una dimensione di un megabyte (1024 KB) moltiplicato per una potenza di 2 e che inizia e finisce con un multiplo della dimensione dell'intervallo richiesto. Ad esempio, se hai 3,1 MB di dati recuperati e specifichi un intervallo da restituire che inizia a 1 MB e finisce a 2 MB, viene restituito x-amz-sha256-tree-hash come intestazione della risposta.

  • Richiedi un intervallo di dati recuperati da restituire che va fino alla fine dei dati e l'inizio dell'intervallo è un multiplo della dimensione dell'intervallo da recuperare arrotondato alla successiva potenza di due ma non inferiore a un megabyte (1024 KB). Ad esempio, se hai 3,1 MB di dati recuperati e specifichi un intervallo che inizia a 2 MB e finisce a 3,1 MB (la fine dei dati), viene restituito x-amz-sha256-tree-hash come intestazione della risposta.

Tipo: string

Corpo della risposta

S3 Glacier restituisce l'output del processo nel corpo della risposta. A seconda del tipo di processo, l'output può essere il contenuto dell'archivio o l'inventario vault. Nel caso di un inventario vault, per impostazione predefinita l'elenco viene restituito come corpo JSON, come mostrato di seguito.

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

Se hai richiesto l'output in formato CSV all'avvio del processo di inventario vault, l'inventario vault viene restituito in formato CSV nel corpo della risposta. Il formato CSV ha cinque colonne ("ArchiveId", "ArchiveDescription", "CreationDate", "Size" e "SHA256TreeHash") con le stesse definizioni dei campi JSON corrispondenti.

Nota

Nel formato CSV restituito, i campi possono essere restituiti racchiusi tra virgolette. I campi che contengono una virgola o virgolette vengono sempre restituiti racchiusi tra virgolette. Ad esempio, my archive description,1 viene restituito come "my archive description,1". Le virgolette presenti nei campi restituiti tra virgolette sono precedute da un carattere di escape, ovvero una barra rovesciata. Ad esempio, my archive description,1"2 viene restituito come "my archive description,1\"2" e my archive description,1\"2 viene restituito come "my archive description,1\\"2". La barra rovesciata non è preceduta da un carattere di escape.

Il corpo della risposta JSON contiene i campi JSON descritti di seguito.

ArchiveDescription

La descrizione di un archivio.

Tipo: stringa

ArchiveId

L'ID di un archivio.

Tipo: stringa

ArchiveList

Una matrice di metadati dell'archivio. Ogni oggetto nella matrice rappresenta metadati per un archivio contenuto nel vault.

Tipo: matrice

CreationDate

La data e l'ora di creazione dell'archivio in formato UTC.

Tipo: una rappresentazione di stringa nel formato data ISO 8601, ad esempio 2013-03-20T17:03:43.221Z.

InventoryDate

La data e l'ora in formato UTC dell'ultimo inventario del vault completato dopo le modifiche al vault. Anche se S3 Glacier prepara un inventario vault una volta al giorno, la data dell'inventario viene aggiornata solo se sono stati aggiunti o eliminati archivi nel vault dall'ultimo inventario.

Tipo: una rappresentazione di stringa nel formato data ISO 8601, ad esempio 2013-03-20T17:03:43.221Z.

SHA256TreeHash

La struttura hash dell'archivio.

Tipo: stringa

Dimensioni

La dimensione in byte dell'archivio.

Tipo: numero

VaultARN

La risorsa ARN (Amazon Resource Name) da cui è stato richiesto il recupero dell'archivio.

Tipo: stringa

Errori

Per informazioni sulle eccezioni e i messaggi di errore di Amazon S3 Glacier, consulta Risposte agli errori.

Esempi

L'esempio seguente mostra la richiesta per un processo che recupera un archivio.

Esempio 1: download dell'output

Questo esempio recupera i dati preparati da S3 Glacier in risposta alla richiesta di avvio di un processo di recupero dell'archivio.

Richiesta di esempio

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

Risposta di esempio

Di seguito è riportato un esempio di risposta di un processo di recupero di archivio. Nota che l'intestazione Content-Type è application/octet-stream e che l'intestazione x-amz-sha256-tree-hash è inclusa nella risposta, il che significa che vengono restituiti tutti i dati del processo.

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.]

Di seguito è riportato un esempio di risposta di un processo di recupero di inventario. Nota che l'intestazione Content-Type è application/json. Considera inoltre che la risposta non include l'intestazione x-amz-sha256-tree-hash.

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" } ] }

Esempio 2: download unicamente di un output parziale

Questo esempio recupera solo una parte dell'archivio preparato da S3 Glacier in risposta alla richiesta di avvio di un processo di recupero dell'archivio. La richiesta utilizza l'intestazione facoltativa Range per recuperare solo i primi 1.024 byte.

Richiesta di esempio

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

Risposta di esempio

La risposta corretta seguente mostra la risposta 206 Partial Content. In questo caso, la risposta include anche un'intestazione Content-Range che specifica l'intervallo di byte restituito da S3 Glacier.

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.]