Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überprüfung der Objektintegrität
Amazon S3 verwendet Prüfsummenwerte, um die Integrität von Daten zu verifizieren, die Sie auf Amazon S3 hochladen oder von Amazon S3 herunterladen. Darüber hinaus können Sie anfordern, dass ein weiterer Prüfsummenwert für jedes Objekt berechnet wird, das Sie in Amazon S3 speichern. Sie können einen von mehreren Prüfsummenalgorithmen auswählen, der beim Hochladen oder Kopieren Ihrer Daten verwendet werden soll. Amazon S3 berechnet mit diesem Algorithmus einen zusätzlichen Prüfsummenwert und speichert ihn als Teil der Objektmetadaten. Weitere Informationen zur Verwendung zusätzlicher Prüfsummen zur Überprüfung der Datenintegrität finden Sie im Tutorial: Überprüfen der Integrität von Daten in Amazon S3 mit zusätzlichen Prüfsummen
Wenn Sie ein Objekt hochladen, können Sie optional eine vorberechnete Prüfsumme als Teil Ihrer Anforderung aufnehmen. Amazon S3 vergleicht die bereitgestellte Prüfsumme mit der Prüfsumme, die mit Ihrem angegebenen Algorithmus berechnet wird. Wenn die beiden Werte nicht übereinstimmen, meldet Amazon S3 einen Fehler.
Verwenden unterstützter Prüfsummenalgorithmen
Amazon S3 bietet Ihnen die Möglichkeit, den Prüfsummenalgorithmus auszuwählen, der zur Validierung Ihrer Daten beim Hoch- oder Herunterladen verwendet wird. Sie können einen der folgenden Algorithmen zur Prüfung der Datenintegrität zwischen Secure Hash Algorithms (SHA) oder Cyclic Redundancy Check (CRC) wählen:
-
CRC32
-
CRC32C
-
SHA-1
-
SHA-256
Wenn Sie ein Objekt hochladen, können Sie den Algorithmus angeben, den Sie verwenden möchten:
-
Wenn Sie den verwenden AWS Management Console, wählen Sie den Prüfsummenalgorithmus aus, den Sie verwenden möchten. In diesem Fall können Sie den Prüfsummenwert des Objekts optional angeben. Wenn Amazon S3 das Objekt erhält, berechnet es die Prüfsumme mithilfe des von Ihnen angegebenen Algorithmus. Wenn die beiden Prüfsummenwerte nicht übereinstimmen, generiert Amazon S3 einen Fehler.
-
Wenn Sie einen verwenden SDK, können Sie den Wert des
ChecksumAlgorithm
Parameters auf den Algorithmus setzen, den Amazon S3 bei der Berechnung der Prüfsumme verwenden soll. Amazon S3 berechnet den Prüfsummenwert automatisch. -
Wenn Sie den verwenden REST API, verwenden Sie den
x-amz-sdk-checksum-algorithm
Parameter nicht. Stattdessen verwenden Sie einen der algorithmenspezifischen Header (z. B.x-amz-checksum-crc32
).
Weitere Informationen zum Hochladen von Objekten finden Sie unter Objekte hochladen.
Um einen dieser Prüfsummenwerte auf Objekte anzuwenden, die bereits auf Amazon S3 hochgeladen wurden, können Sie das Objekt kopieren. Wenn Sie ein Objekt kopieren, können Sie angeben, ob Sie den vorhandenen oder einen neuen Prüfsummenalgorithmus verwenden möchten. Sie können einen Prüfsummenalgorithmus angeben, wenn Sie eine unterstützte Methode zum Kopieren von Objekten verwenden, einschließlich S3-Batch-Operationen. Weitere Informationen über S3-Batch-Vorgänge finden Sie unter Ausführung umfangreicher Batch-Vorgänge für Amazon S3-Objekte durch..
Wichtig
Wenn Sie einen mehrteiligen Upload mit zusätzlichen Prüfsummen verwenden, müssen die mehrteiligen Teilenummern aufeinander folgende Teilenummern sein. Wenn Sie zusätzliche Prüfsummen verwenden und versuchen, eine mehrteilige Upload-Anfrage mit nicht aufeinanderfolgenden Artikelnummern abzuschließen, generiert Amazon S3 einen Fehler. HTTP 500 Internal Server Error
Nach dem Hochladen von Objekten können Sie den Prüfsummenwert abrufen und mit einem vorberechneten oder zuvor gespeicherten Prüfsummenwert vergleichen, der mit demselben Algorithmus berechnet wurde.
Weitere Informationen zur Verwendung der Konsole und zum Angeben von Prüfsummenalgorithmen, die beim Hochladen von Objekten verwendet werden, finden Sie unter Objekte hochladen und unter Tutorial: Überprüfen der Integrität von Daten in Amazon S3 mit zusätzlichen Prüfsummen
Das folgende Beispiel zeigt, wie Sie mit dem AWS SDKs eine große Datei mit mehrteiligem Upload hochladen, eine große Datei herunterladen und eine mehrteilige Upload-Datei validieren können, wobei Sie jeweils SHA -256 für die Dateiüberprüfung verwenden.
Sie können REST Anfragen zum Hochladen eines Objekts mit einem Prüfsummenwert senden, um die Integrität der Daten mit PutObjectzu überprüfen. Sie können den Prüfsummenwert für Objekte auch mit GetObjectoder abrufen. HeadObject
Sie können eine PUT
-Anforderung zum Hochladen eines Objekts von bis zu 5 GB in einem einzigen Vorgang senden. Weitere Informationen finden Sie unter PutObject
in der AWS CLI -Befehlszeilenreferenz. Sie können auch get-object
und head-object
verwenden, um die Prüfsumme eines bereits hochgeladenen Objekts abzurufen und die Integrität der Daten zu überprüfen.
Weitere Informationen finden Sie unter Amazon S3 CLI FAQ im AWS Command Line Interface Benutzerhandbuch.
Inhalte verwenden — MD5 beim Hochladen von Objekten
Eine weitere Möglichkeit, die Integrität Ihres Objekts nach dem Hochladen zu überprüfen, besteht darin, MD5 beim Hochladen eine Zusammenfassung des Objekts bereitzustellen. Wenn Sie den MD5 Digest für Ihr Objekt berechnen, können Sie den Digest mit dem PUT
Befehl bereitstellen, indem Sie den Header verwenden. Content-MD5
Nach dem Hochladen des Objekts berechnet Amazon S3 den MD5 Digest des Objekts und vergleicht ihn mit dem von Ihnen angegebenen Wert. Die Anforderung ist nur erfolgreich, wenn die beiden Digests übereinstimmen.
Die Angabe eines MD5 Digest ist nicht erforderlich, Sie können ihn jedoch verwenden, um die Integrität des Objekts im Rahmen des Upload-Vorgangs zu überprüfen.
Verwenden Sie Content- MD5 und the, um hochgeladene ETag Objekte zu verifizieren
Das Entity-Tag (ETag) für ein Objekt steht für eine bestimmte Version dieses Objekts. Beachten Sie, dass das nur Änderungen am Inhalt eines Objekts ETag widerspiegelt, nicht an seinen Metadaten. Wenn sich nur die Metadaten eines Objekts ändern, ETag bleiben die gleichen.
Je nach Objekt kann es sich ETag bei dem Objekt um eine MD5 Zusammenfassung der Objektdaten handeln:
-
Wenn ein Objekt durch die
CopyObject
OperationPutObject
,PostObject
, oder durch die AWS Management Console, erstellt wird und dieses Objekt auch Klartext oder durch serverseitige Verschlüsselung mit verwalteten Amazon S3 S3-Schlüsseln (SSE-S3) verschlüsselt ist, hat ETag dieses Objekt eine MD5 Zusammenfassung seiner Objektdaten. -
Wenn ein Objekt durch die
CopyObject
OperationPutObject
,PostObject
, oder durch die AWS Management Console, erstellt wird und dieses Objekt durch serverseitige Verschlüsselung mit vom Kunden bereitgestellten Schlüsseln (SSE-C) oder serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) Schlüsseln (SSE-KMS) verschlüsselt wird, hat dieses Objekt eine, ETag die keine MD5 Zusammenfassung seiner Objektdaten ist. -
Wenn ein Objekt durch die
Part Copy
OperationMultipart Upload
oder erstellt wird, handelt es sich bei dem Objekt unabhängig von der ETag Verschlüsselungsmethode nicht um einen MD5 Digest. Wenn ein Objekt größer als 16 MB ist, wird dieses Objekt als mehrteiliger AWS Management Console Upload hochgeladen oder kopiert, es handelt sich also ETag nicht um einen Digest. MD5
Bei Objekten, bei denen ETag es sich um den Content-MD5
Digest des Objekts handelt, können Sie den ETag Wert des Objekts mit einem berechneten oder zuvor gespeicherten Digest vergleichen. Content-MD5
Verwenden von nachfolgenden Prüfsummen
Wenn Sie Objekte auf Amazon S3 hochladen, können Sie entweder eine vorberechnete Prüfsumme für das Objekt angeben oder eine verwenden, AWS SDK um automatisch abschließende Prüfsummen in Ihrem Namen zu erstellen. Wenn Sie sich für eine nachfolgende Prüfsumme entscheiden, generiert Amazon S3 die Prüfsumme automatisch mithilfe des von Ihnen angegebenen Algorithmus und überprüft damit die Integrität des Objekts während des Uploads.
Um bei der Verwendung von eine eine abschließende Prüfsumme zu erstellen AWS SDK, füllen Sie den Parameter mit Ihrem bevorzugten Algorithmus. ChecksumAlgorithm
Der berechnet SDK anhand dieses Algorithmus die Prüfsumme für Ihr Objekt (oder Objektteile) und hängt sie automatisch an das Ende Ihrer Upload-Anfrage an. Dank dieser Funktionsweise sparen Sie Zeit, da Amazon S3 sowohl die Überprüfung als auch das Hochladen Ihrer Daten in einem einzigen Durchgang durchführt.
Wichtig
Wenn Sie S3 Object Lambda verwenden, werden alle Anfragen an S3 Object Lambda mit s3-object-lambda
anstelle von s3
signiert. Dieses Verhalten wirkt sich auf die Signatur der nachfolgenden Prüfsummenwerte aus. Weitere Informationen zu S3 Object Lambda finden Sie unter Transformieren von Objekten mit S3 Object Lambda.
Verwenden von Prüfsummen auf Teilebene für mehrteilige Uploads
Wenn Objekte auf Amazon S3 hochgeladen werden, können sie entweder als einzelnes Objekt oder durch den mehrteiligen Upload-Prozess hochgeladen werden. Objekte, die größer als 16 MB sind und über die Konsole hochgeladen werden, werden automatisch mit mehrteiligen Uploads hochgeladen. Weitere Informationen über mehrteilige Uploads finden Sie unter Hochladen und Kopieren von Objekten mit mehrteiligen Uploads.
Wenn ein Objekt als mehrteiliger Upload hochgeladen wird, handelt es sich ETag bei dem Objekt nicht um eine MD5 Zusammenfassung des gesamten Objekts. Amazon S3 berechnet den MD5 Digest jedes einzelnen Teils beim Hochladen. Die MD5 Digests werden verwendet, um den Wert ETag für das endgültige Objekt zu bestimmen. Amazon S3 verkettet die Bytes für die MD5 Digests miteinander und berechnet dann den Digest dieser verketteten MD5 Werte. Der letzte Schritt bei der Erstellung von ETag besteht darin, dass Amazon S3 am Ende einen Bindestrich mit der Gesamtzahl der Teile hinzufügt.
Stellen Sie sich zum Beispiel ein Objekt vor, das mit einem mehrteiligen Upload hochgeladen wurde und den Wert ETag von C9A5A6878D97B48CC965C1E41859F034-14
hat. In diesem Fall C9A5A6878D97B48CC965C1E41859F034
ist der MD5 Digest aller Digests miteinander verkettet. Der Wert -14
gibt an, dass mit dem mehrteiligen Upload dieses Objekts 14 Teile verknüpft sind.
Wenn Sie zusätzliche Prüfsummenwerte für Ihr mehrteiliges Objekt aktiviert haben, berechnet Amazon S3 die Prüfsumme für jeden einzelnen Teil mithilfe des angegebenen Prüfsummenalgorithmus. Die Prüfsumme für das abgeschlossene Objekt wird auf die gleiche Weise berechnet, wie Amazon S3 den MD5 Digest für den mehrteiligen Upload berechnet. Mithilfe dieser Prüfsumme können Sie die Integrität des Objekts überprüfen.
Um Informationen über das Objekt abzurufen, einschließlich der Anzahl der Teile, aus denen das gesamte Objekt besteht, können Sie die Operation verwenden. GetObjectAttributes Mit zusätzlichen Prüfsummen können Sie auch Informationen für jeden einzelnen Teil wiederherstellen, der den Prüfsummenwert jedes Teils enthält.
Bei abgeschlossenen Uploads können Sie die Prüfsumme eines einzelnen Teils abrufen, indem Sie die HeadObjectOperationen GetObjectoder verwenden und eine Bauteilnummer oder einen Bytebereich angeben, der einem einzelnen Teil entspricht. Wenn Sie die Prüfsummenwerte für einzelne Teile von mehrteiligen Uploads abrufen möchten, die noch in Bearbeitung sind, können Sie Folgendes verwenden. ListParts
Aufgrund der Art und Weise, wie Amazon S3 die Prüfsumme für mehrteilige Objekte berechnet, kann sich der Prüfsummenwert für das Objekt ändern, wenn Sie es kopieren. Wenn Sie ein SDK oder das verwenden REST API und Sie aufrufen CopyObject, kopiert Amazon S3 jedes Objekt bis zu den Größenbeschränkungen des CopyObject
API Vorgangs. Amazon S3 führt diese Kopie als einzelne Aktion aus, unabhängig davon, ob das Objekt in einer einzigen Anforderung oder im Rahmen eines mehrteiligen Uploads hochgeladen wurde. Mit einem Kopierbefehl ist die Prüfsumme des Objekts eine direkte Prüfsumme des vollständigen Objekts. Wenn das Objekt ursprünglich mit einem mehrteiligen Upload hochgeladen wurde, ändert sich der Prüfsummenwert, auch wenn die Daten unverändert bleiben.
Anmerkung
Objekte, die die Größenbeschränkungen des CopyObject
API Vorgangs überschreiten, müssen mehrteilige Kopierbefehle verwenden.
Wichtig
Wenn Sie einige Operationen mit dem ausführen AWS Management Console, verwendet Amazon S3 einen mehrteiligen Upload, wenn das Objekt größer als 16 MB ist. In diesem Fall ist die Prüfsumme keine direkte Prüfsumme des vollständigen Objekts, sondern eine Berechnung, die auf den Prüfsummenwerten jeden einzelnen Teils basiert.
Stellen Sie sich zum Beispiel ein Objekt mit einer Größe von 100 MB vor, das Sie als einteiligen direkten Upload mit dem hochgeladen haben. REST API Die Prüfsumme ist in diesem Fall eine Prüfsumme des gesamten Objekts. Wenn Sie das Objekt später mit der Konsole umbenennen, es kopieren, die Speicherklasse ändern oder die Metadaten bearbeiten, verwendet Amazon S3 die mehrteilige Upload-Funktion, um das Objekt zu aktualisieren. Infolgedessen erstellt Amazon S3 einen neuen Prüfsummenwert für das Objekt, der basierend auf den Prüfsummenwerten der einzelnen Teile berechnet wird.
Die obige Liste der Konsolenoperationen ist keine vollständige Liste aller möglichen Aktionen, die Sie ergreifen können, wenn sie dazu führen AWS Management Console , dass Amazon S3 das Objekt mithilfe der mehrteiligen Upload-Funktion aktualisiert. Beachten Sie, dass der Prüfsummenwert möglicherweise nicht die Prüfsumme des gesamten Objekts ist, wenn Sie die Konsole für Objekte mit einer Größe über 16 MB verwenden.