Ich möchte ein Objekt in einen Amazon Simple Storage Service (Amazon S3)-Bucket hochladen. Außerdem möchte ich die Integrität des hochgeladenen Objekts überprüfen.
Kurzbeschreibung
Gehen Sie wie folgt vor, um die Integrität hochgeladener Objekte mithilfe des Content-MD5-Headers zu überprüfen.
**Hinweis:**Wenn Sie den Content-MD5-Header verwenden, überprüft Amazon S3 das Objekt anhand des bereitgestellten Content-MD5-Werts. Wenn die Werte nicht übereinstimmen, erhalten Sie eine Fehlermeldung.
Lösung
Berechnen Sie den Content-MD5-Wert des Objekts
**Windows-Betriebssystem **
Wenn Sie ein Windows-Betriebssystem verwenden, können Sie das ](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.1)GetFileHash[ Cmdlet von Microsoft PowerShell Utility verwenden, um den MD5-Digest wie folgt zu berechnen:
Get-FileHash \path\to\file -algorithm MD5 | Format-List
Hinweis: Das Get-FileHash Cmdlet ist mit Microsoft PowerShell Utility Version 4.0 und höher verfügbar.
Hier ist ein Beispiel für eine Ausgabe:
Algorithm : MD5
Hash : C9A5A6878D97B48CC965C1E41859F034
Path : \path\to\file
Wenden Sie dann die Base64-Kodierung auf den berechneten MD5-Digest an, um den erforderlichen Content-MD5-Wert zu erhalten:
$hashString ='C9A5A6878D97B48CC965C1E41859F034'
$hashByteArray = [byte[]] ($hashString -replace '..', '0x$&,' -split ',' -ne '')
$ContentMD5 = [System.Convert]::ToBase64String($hashByteArray)
Echo $ContentMD5
yaWmh42XtIzJZcHkGFnwNA==
In diesem Beispiel ist die Ausgabe von ** Echo $contentMD5, („yawmh42xTIZJZCHkgFNWNA==“)**, der erforderliche Content-MD5-Wert.
**Linux-Betriebssystem **
Wenn Sie ein Linux-Betriebssystem verwenden, führen Sie den folgenden OpenSSL-Befehl aus, um den Content-MD5-Wert Ihrer Datei abzurufen:
openssl md5 -binary PATH/TO/FILE | base64
Überprüfen Sie die Integrität des hochgeladenen Objekts
Wenn Sie PutObject verwenden, um Objekte auf Amazon S3 hochzuladen, übergeben Sie den Content-MD5-Wert als Anforderungsheader. Amazon S3 überprüft das Objekt anhand des angegebenen Content-MD5-Werts. Wenn die Werte nicht übereinstimmen, erhalten Sie eine Fehlermeldung.
Der Content-MD5-Anforderungsheader kann auch mit der S3 UploadPart-API verwendet werden.
Ähnliche Informationen
Allgemeine Anforderungsheader
S3-Fehlerantworten