Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

Come posso verificare l'integrità di un oggetto caricato su Amazon S3?

2 minuti di lettura
0

Desidero caricare un oggetto su un bucket Amazon Simple Storage Service (Amazon S3). Inoltre, desidero verificare l'integrità dell'oggetto caricato.

Breve descrizione

Utilizza i passaggi seguenti per verificare l'integrità degli oggetti caricati utilizzando l'intestazione content-MD5.

Nota: Quando si utilizza l'intestazione Content-MD5, Amazon S3 verifica l'oggetto rispetto al valore Content-MD5 fornito. Se i valori non corrispondono, viene visualizzato un errore.

Risoluzione

Calcola il valore content-MD5 dell'oggetto

Sistema operativo Windows

Se si utilizza un sistema operativo Windows, è possibile utilizzare il cmdlet Get-FileHash da Microsoft PowerShell Utility per calcolare il digest MD5, in questo modo:

Get-FileHash \path\to\file -algorithm MD5 | Format-List

Nota: Il cmdlet Get-FileHash è disponibile con Microsoft PowerShell Utility versione 4.0 e successive.

Ecco un esempio di output:

Algorithm : MD5
Hash      : C9A5A6878D97B48CC965C1E41859F034
Path      : \path\to\file

Quindi, applica la codifica base64 al digest MD5 calcolato per ottenere il valore content-MD5 richiesto:

$hashString ='C9A5A6878D97B48CC965C1E41859F034'
$hashByteArray = [byte[]] ($hashString -replace '..', '0x$&,' -split ',' -ne '')
$ContentMD5 = [System.Convert]::ToBase64String($hashByteArray)
Echo $ContentMD5
yaWmh42XtIzJZcHkGFnwNA==

In questo esempio, l'output di Echo $ContentMD5, ("yaWmh42XtIzJZcHkGFnwNA=="), è il valore content-MD5 richiesto.

Sistema operativo Linux

Se utilizzi un sistema operativo Linux, esegui il seguente comando OpenSSL per ottenere il valore content-MD5 del tuo file:

openssl md5 -binary PATH/TO/FILE | base64

Verifica l'integrità dell'oggetto caricato

Quando usi PutObject per caricare oggetti su Amazon S3, trasmetti il valore content-MD5 come intestazione della richiesta. Amazon S3 verifica l'oggetto rispetto al valore Content-MD5 fornito. Se i valori non corrispondono, viene visualizzato un errore.

L'intestazione della richiesta Content-MD5 può essere utilizzata anche con l'API S3 UploadPart.

Informazioni correlate

Intestazioni di richiesta comuni

Risposte agli errori S3

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 mesi fa