
Ich wollte eine MD5-Summe in das Objekt schreiben, nachdem es auf AWS S3 hochgeladen wurde, und eine Datenintegritätsprüfung wie hier beschrieben durchführen:
https://aws.amazon.com/premiumsupport/knowledge-center/data-integrity-s3/
Sie haben beispielsweise 100.000 Objekte in einen AWS S3-Bucket hochgeladen und möchten MD5 ausführen, um eine Datenintegritätsprüfung durchzuführen. Entstehen hierfür zusätzliche Kosten? Wird dadurch die Anzahl der Anfragen für PUT, LIST usw. erhöht?
Antwort1
Hintergrund - Metadaten hinzufügen
Sie können Metadaten nur beim Hochladen des Objekts festlegen (Amazon-Link, siehe kopierten Text unten). Wenn Sie Metadaten zu einem bestehenden Objekt hinzufügen möchten, müssen Sieeine Kopie des Objekts erstellen, wodurch die alte Version gelöscht wird.
Jedes Amazon S3-Objekt verfügt über Daten, einen Schlüssel und Metadaten. Der Objektschlüssel (oder Schlüsselname) identifiziert das Objekt eindeutig in einem Bucket. Objektmetadaten sind eine Reihe von Name-Wert-Paaren. Sie können Objektmetadaten beim Hochladen festlegen. Nachdem Sie das Objekt hochgeladen haben, können Sie die Objektmetadaten nicht mehr ändern. Die einzige Möglichkeit zum Ändern der Objektmetadaten besteht darin, eine Kopie des Objekts zu erstellen und die Metadaten festzulegen.
Da das Setzen von Metadaten Teil der PUT-Anfrage ist, fallen hierfür keine zusätzlichen Kosten an, da siewird pro Anfrage berechnetund nicht nach Datenvolumen.
Von AWS unterstützte Methode zur Validierung hochgeladener Daten
AWS unterstützt die MD5-Validierung von Daten, die auf S3 hochgeladen werden. Dies wird beschriebenHiersowie in derS3API PUT-Dokumentation. Kurz gesagt:
- Berechnen Sie den MD5 lokal
- Fügen Sie den MD5 in die Upload-Anfrage ein, den AWS für Sie überprüft
- Sie können den MD5 optional als Metadaten in Ihren Upload einschließen
Wenn das Objekt die MD5-Prüfsumme nicht besteht, enthält die Antwort von S3 einen Fehler.
Kosten für die AWS MD5-Validierung
Auf der S3-Preisseite werden keine Kosten für die MD5-Validierung erwähnt. Daher kann ich Ihnen nur antworten: „Nein, es fallen keine Kosten an.“