Skip to content

Comment puis-je vérifier l'intégrité d'un objet chargé vers Amazon S3 ?

Lecture de 2 minute(s)
0

Je souhaite charger un objet dans un compartiment Amazon Simple Storage Service (Amazon S3). En outre, je souhaite vérifier l'intégrité de l'objet chargé.

Brève description

Suivez les étapes ci-dessous pour vérifier l'intégrité des objets chargés à l'aide de l'en-tête Content-MD5.

Remarque : Lorsque vous utilisez l'en-tête Content-MD5, Amazon S3 compare l'objet à la valeur Content-MD5 fournie. Si les valeurs ne correspondent pas, vous recevez un message d'erreur.

Résolution

Calculer la valeur Content-MD5 de l'objet

Système d’exploitation Windows

Si vous utilisez un système d’exploitation Windows, vous pouvez utiliser la commande cmdlet Get-FileHash de Microsoft PowerShell Utility pour calculer la valeur de hachage MD5, comme suit :

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

Remarque : La commande cmdlet Get-FileHash est disponible avec Microsoft PowerShell Utility version 4.0 et versions ultérieures.

Voici un exemple de sortie :

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

Puis, appliquez le codage base64 à la valeur de hachage MD5 calculée pour obtenir la valeur Content-MD5 requise :

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

Dans cet exemple, la sortie de Echo $ContentMD5, ("yaWmh42XtIzJZcHkGFnwNA=="), est la valeur Content-MD5 requise.

Système d’exploitation Linux

Si vous utilisez un système d'exploitation Linux, exécutez la commande OpenSSL suivante pour obtenir la valeur Content-MD5 de votre fichier :

openssl md5 -binary PATH/TO/FILE | base64

Vérifier l'intégrité de l'objet chargé

Lorsque vous utilisez PutObject pour charger des objets vers Amazon S3, transmettez la valeur Content-MD5 en tant qu'en-tête de requête. Amazon S3 compare l'objet à la valeur Content-MD5 fournie. Si les valeurs ne correspondent pas, vous recevez un message d'erreur.

L'en-tête de requête Content-MD5 peut également être utilisé avec l'API S3 UploadPart.

Informations connexes

En-têtes de requête courants

Réponses d’erreur S3

AWS OFFICIELA mis à jour il y a 8 mois