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
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à.
Upload Part (PUT uploadID)
Descrizione
Questa operazione di caricamento in più parti consente di caricare una parte di un archivio. Puoi caricare parti di un archivio in qualsiasi ordine in quanto nella richiesta Upload Part specifichi l'intervallo di byte dell'archivio assemblato che verrà caricato in questa parte. Puoi anche caricare le parti in parallelo. In un caricamento in più parti è consentito caricare fino a 10.000 parti.
Per informazioni sul caricamento in più parti, consulta Caricamento in parti di archivi di grandi dimensioni (caricamento in più parti).
Amazon S3 Glacier (S3 Glacier) respinge la richiesta di caricamento di una parte se una qualsiasi delle seguenti condizioni è vera:
-
La struttura hash SHA256 non corrisponde: per garantire che i dati della parte non siano danneggiati nella trasmissione, devi calcolare una struttura hash SHA256 della parte e includerla nella richiesta. Dopo la ricezione dei dati della parte, S3 Glacier calcola anche una struttura hash SHA256. Se i due valori hash non corrispondono, l'operazione non riesce. Per informazioni sul calcolo di una struttura hash SHA256, consulta Calcolo di checksum.
-
L'hash lineare SHA256 non corrisponde: poiché è richiesto per l'autorizzazione, devi calcolare un hash lineare SHA256 dell'intero payload e includerlo nella richiesta. Per informazioni sul calcolo di un hash lineare SHA256, consulta Calcolo di checksum.
-
La dimensione di parte non corrisponde: la dimensione di ogni parte eccetto l'ultima deve corrispondere alla dimensione specificata nella richiesta Initiate Multipart Upload (POST multipart-uploads) corrispondente. La dimensione dell'ultima parte deve essere uguale o inferiore alla dimensione specificata.
Nota
Se carichi una parte la cui dimensione è inferiore alla dimensione specificata nella richiesta Initiate Multipart Upload e quella parte non è l'ultima parte, la richiesta Upload Part verrà eseguita senza problemi. Tuttavia, la richiesta Complete Multipart Upload successiva non riuscirà.
-
L'intervallo non è allineato: il valore dell'intervallo di byte nella richiesta non è allineato alla dimensione di parte specificata nella richiesta di avvio corrispondente. Ad esempio, se specifichi una dimensione di parte di 4194304 byte (4 MB), gli intervalli da 0 a 4194303 byte (4 MB – 1) e da 4194304 (4 MB) a 8388607 (8 MB – 1) sono intervalli di parte validi. Tuttavia, se imposti un valore di intervallo da 2 MB a 6 MB, l'intervallo non è allineato alla dimensione di parte e il caricamento non riuscirà.
Questa operazione è idempotente. Se carichi la stessa parte più volte, i dati inclusi nella richiesta più recente sovrascrivono i dati caricati precedentemente.
Richieste
Devi inviare questa richiesta PUT
HTTP all'URI dell'ID di caricamento restituito dalla richiesta Initiate Multipart Upload. S3 Glacier utilizza l'ID di caricamento per associare i caricamenti delle parti a un determinato caricamento in più parti. La richiesta deve includere una struttura hash SHA256 dei dati della parte (intestazione x-amz-SHA256-tree-hash
), un hash lineare SHA256 dell'intero payload (intestazione x-amz-content-sha256
), l'intervallo di byte (intestazione Content-Range
) e la lunghezza della parte in byte ( intestazione Content-Length
).
Sintassi
PUT /
AccountId
/vaults/VaultName
/multipart-uploads/uploadID
HTTP/1.1 Host: glacier.Region
.amazonaws.com Date:Date
Authorization:SignatureValue
Content-Range:ContentRange
Content-Length:PayloadSize
Content-Type: application/octet-stream x-amz-sha256-tree-hash:Checksum of the part
x-amz-content-sha256:Checksum of the entire payload
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 |
---|---|---|
Content-Length
|
Identifica la lunghezza della parte in byte. Tipo: string Impostazione predefinita: nessuna Vincoli: nessuno |
No |
Content-Range
|
Identifica l'intervallo di byte nell'archivio assemblato che verrà caricato in questa parte. S3 Glacier utilizza queste informazioni per assemblare l'archivio nella sequenza corretta. Il formato di questa intestazione segue la specifica RFC 2616 Tipo: string Impostazione predefinita: nessuna Vincoli: l'intervallo non può essere maggiore della dimensione di parte specificata all'avvio del caricamento in più parti. |
Sì |
x-amz-content-sha256
|
Il checksum SHA256 (un hash lineare) del payload caricato. Non si tratta dello stesso valore che specifichi nell'intestazione Tipo: string Impostazione predefinita: nessuna Vincoli: nessuno |
Sì |
x-amz-sha256-tree-hash
|
Specifica una struttura hash SHA256 dei dati caricati. Per informazioni sul calcolo di una struttura hash SHA256, consulta Calcolo di checksum. Tipo: string Impostazione predefinita: nessuna Vincoli: nessuno |
Sì |
Corpo della richiesta
Il corpo della richiesta contiene i dati da caricare.
Risposte
Dopo il caricamento riuscito di una parte, S3 Glacier restituisce una risposta 204 No Content
.
Sintassi
HTTP/1.1 204 No Content x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier
Intestazioni di risposta
Una risposta corretta include le seguenti intestazioni di risposta, oltre alle intestazioni di risposta comuni a tutte le operazioni. Per informazioni sulle intestazioni di risposta comuni, consulta Intestazioni di risposta comuni.
Nome | Descrizione |
---|---|
x-amz-sha256-tree-hash
|
La struttura hash SHA256 che S3 Glacier ha calcolato per la parte caricata. Tipo: string |
Corpo della risposta
Questa operazione non restituisce un corpo della risposta.
Esempio
La richiesta seguente carica una parte di 4 MB. La richiesta imposta l'intervallo di byte di modo che sia la prima parte nell'archivio.
Richiesta di esempio
L'esempio invia una richiesta HTTP PUT
per caricare una parte di 4 MB. La richiesta è inviata all'URI dell'ID di caricamento restituito dalla richiesta Initiate Multipart Upload. L'intestazione Content-Range
identifica la parte come la prima parte di dati di 4 MB dell'archivio.
PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 0-4194303/* x-amz-sha256-tree-hash:c06f7cd4baacb087002a99a5f48bf953 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 Content-Length: 4194304 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version,Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace
Per caricare la parte successiva, la procedura è la stessa. Tuttavia, devi calcolare una nuova struttura hash SHA256 della parte che stai caricando e specificare un nuovo intervallo di byte per indicare la posizione della parte nell'assemblaggio finale. La richiesta seguente carica un'altra parte utilizzando lo stesso ID di caricamento. La richiesta specifica i 4 MB successivi dell'archivio dopo la richiesta precedente e una dimensione di parte di 4 MB.
PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 4194304-8388607/* Content-Length: 4194304 x-amz-sha256-tree-hash:f10e02544d651e2c3ce90a4307427493 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 x-amz-glacier-version: 2012-06-01 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20120525/us-west-2/glacier/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version, Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace
Le parti possono essere caricate in qualsiasi ordine; S3 Glacier utilizza la specifica di intervallo di ogni parte per determinare l'ordine in cui assemblarle.
Risposta di esempio
HTTP/1.1 204 No Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: c06f7cd4baacb087002a99a5f48bf953 Date: Wed, 10 Feb 2017 12:00:00 GMT
Sezioni correlate