Wie kann ich die Integrität eines auf Amazon S3 hochgeladenen Objekts überprüfen?

Lesedauer: 2 Minute
0

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. Wie kann ich das machen?

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.

  1. Berechnen Sie den Content-MD5-Wert des Objekts.

  2. Überprüfen Sie die Integrität des hochgeladenen Objekts, indem Sie den Content-MD5-Wert während des Objekt-Uploads als Anforderungsheader übergeben.

Behebung

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren