Hochladen und Kopieren von Objekten mit mehrteiligen Uploads in Amazon S3 - Amazon Simple Storage Service

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.

Hochladen und Kopieren von Objekten mit mehrteiligen Uploads in Amazon S3

Der mehrteilige Upload ermöglicht es Ihnen, ein einzelnes Objekt als eine Reihe von Teilen in Amazon S3 hochzuladen. Jeder Teil ist ein zusammenhängender Teil der Daten des Objekts. Sie können diese Objektteile unabhängig und in beliebiger Reihenfolge hochladen. Für Uploads berechnet Ihr aktualisierter AWS Client automatisch eine Prüfsumme des Objekts und sendet sie zusammen mit der Größe des Objekts als Teil der Anfrage an Amazon S3. Wenn die Übertragung eines Teils fehlschlägt, können Sie das Teil erneut übertragen, ohne dass dies Auswirkungen auf andere Teile hat. Nachdem alle Teile Ihres Objekts hochgeladen wurden, fügt Amazon S3 diese Teile zusammen, um das Objekt zu erstellen. Es hat sich bewährt, den mehrteiligen Upload für Objekte mit einer Größe von 100 MB oder mehr zu verwenden, anstatt sie in einem einzigen Vorgang hochzuladen.

Die Nutzung mehrteiliger Uploads bietet die folgenden Vorteile:

  • Verbesserter Durchsatz – Sie können die Teile parallel hochladen, um den Durchsatz zu erhöhen.

  • Schnelle Wiederherstellung bei Netzwerkproblemen – Die kleinere Teilegröße minimiert die Auswirkungen eines Neustarts eines fehlgeschlagenen Uploads aufgrund eines Netzwerkfehlers.

  • Anhalten und Fortsetzen von Objekt-Uploads – Sie können Objektteile mit der Zeit hochladen. Nachdem Sie einen mehrteiligen Upload initiiert haben, gibt es kein Ablaufdatum. Sie müssen den mehrteiligen Upload ausdrücklich abschließen oder abbrechen.

  • Starten Sie einen Upload, bevor Sie die endgültige Objektgröße kennen – Sie können ein Objekt hochladen, während Sie es noch erstellen.

Sie sollten den mehrteiligen Upload wie folgt verwenden:

  • Wenn Sie große Objekte über ein stabiles Netzwerk mit hoher Bandbreite hochladen, können Sie einen mehrteiligen Upload verwenden, um die Nutzung der verfügbaren Bandbreite zu maximieren. Hierzu laden Sie Objektteile parallel hoch, um von einer Multi-Thread-Leistung zu profitieren.

  • Wenn Sie einen Upload über ein instabiles Netzwerk durchführen, verwenden Sie den mehrteiligen Upload, um die Ausfallsicherheit bei Netzwerkfehlern zu erhöhen, indem Sie einen Neustart des Uploads vermeiden. Wenn Sie mehrteilige Uploads verwenden, müssen Sie nur die Teile erneut hochladen, deren Upload unterbrochen wurde. Sie müssen nicht das gesamte Objekt von Anfang an neu hochladen.

Anmerkung

Weitere Informationen zur Verwendung der Speicherklasse Amazon S3 Express One Zone mit Verzeichnis-Buckets finden Sie unter S3 Express One Zone und Arbeiten mit Verzeichnis-Buckets. Weitere Informationen zur Verwendung mehrteiliger Uploads mit S3 Express One Zone und Verzeichnis-Buckets finden Sie unter Verwenden von mehrteiligen Uploads mit Verzeichnis-Buckets.

Mehrteiliger Upload-Prozess

Der mehrteilige Upload ist ein Prozess in drei Schritten: Sie beginnen den Upload, laden die Teile des Objekts hoch und schließen den mehrteiligen Upload ab, wenn alle Teile hochgeladen wurden. Nach dem vollständigen Eingang der Daten aus dem mehrteiligen Upload erstellt Amazon S3 das Objekt anhand der hochgeladenen Teile. Dann können Sie auf das Objekt wie auf jedes andere Objekt in Ihrem Bucket zugreifen.

Sie können alle laufenden mehrteiligen Uploads auflisten oder eine Liste der Teile anfordern, die Sie für einen bestimmten Multipart-Upload hochgeladen haben. Alle Vorgänge werden in diesem Abschnitt erklärt.

Initiieren des mehrteiligen Uploads

Wenn Sie eine Anforderung zum Initiieren eines mehrteiligen Uploads senden, müssen Sie einen Prüfsummentyp angeben. Amazon S3 gibt dann eine Antwort mit einer Upload-ID als eindeutige Kennung für Ihren mehrteiligen Upload zurück. Diese Upload-ID ist erforderlich, wenn Sie Teile hochladen, Teile auflisten, einen Upload abschließen oder einen Upload anhalten. Wenn Sie Metadaten bereitstellen möchten, die das hochzuladende Objekt beschreiben, müssen sie in der Anforderung auf Initiierung des mehrteiligen Uploads angegeben werden. Anonyme Benutzer können keine mehrteiligen Uploads initiieren.

Teile hochladen

Beim Hochladen eines Teils müssen Sie zusätzlich zur Upload-ID eine Teilenummer angeben. Sie können jede Teilenummer zwischen 1 und 10.000 wählen. Die Teilenummer identifiziert eindeutig einen Teil und seine Position im Objekt, das Sie hochladen. Die von Ihnen gewählte Teilenummer muss nicht fortlaufend sein (möglich sind z. B. 1, 5 und 14). Wenn Sie einen neuen Teil mit derselben Teilenummer hochladen wie bereits einmal zuvor, wird der früher hochgeladene Teil überschrieben.

Wenn Sie ein Teil hochladen, gibt Amazon S3 den Prüfsummenalgorithmus mit dem Prüfsummenwert für jeden Teil als Header in der Antwort zurück. Für jeden Upload eines Teils müssen Sie die Artikelnummer und den ETag Wert aufzeichnen. Sie müssen diese Werte in die spätere Anforderung einschließen, um den mehrteiligen Upload abzuschließen. Jedes Teil wird zum ETag Zeitpunkt des Uploads sein eigenes haben. Sobald der mehrteilige Upload jedoch abgeschlossen ist und alle Teile konsolidiert sind, gehören alle Teile ETag als Prüfsumme von Prüfsummen zu einem Teil zusammen.

Wichtig

Nachdem Sie einen mehrteiligen Upload gestartet und einen oder mehrere Teile hochgeladen haben, müssen Sie den mehrteiligen Upload abschließen oder abbrechen, damit keine Gebühren für die Speicherung der hochgeladenen Teile anfallen. Erst nach dem Abschluss oder Abbruch eines mehrteiligen Uploads gibt Amazon S3 den Speicher für die Teile frei und stoppt die Berechnung von Gebühren für die Speicherung der Teile.

Wenn Sie einen mehrteiligen Upload abbrechen, können Sie mit dieser Upload-ID keine Teile mehr hochladen. Wenn der mehrteilige Upload abgebrochen wird, während Teile hochgeladen werden, können diese Uploads auch nach dem Abbruch des Uploads erfolgreich abgeschlossen werden oder fehlschlagen. Um sicherzustellen, dass der von allen Teilen verbrauchte Speicherplatz freigegeben wird, dürfen Sie einen mehrteiligen Upload erst dann abbrechen, wenn alle Uploads abgeschlossen wurden.

Abschließen eines mehrteiligen Uploads

Wenn Sie einen mehrteiligen Upload abschließen, erstellt Amazon S3 ein Objekt, indem die Teile in aufsteigender Reihenfolge auf Grundlage der Teilenummer verkettet werden. Wenn Sie Metadaten für das Objekt bei der Initiierung des mehrteiligen Uploads bereitgestellt haben, verknüpft Amazon S3 die Metadaten mit dem Objekt. Nach einer erfolgreich ausgeführten Abschlussanforderung sind die Teile nicht mehr vorhanden.

Ihre vollständige mehrteilige Upload-Anfrage muss die Upload-ID und eine Liste mit Artikelnummern und den entsprechenden Werten enthalten. ETag Die Amazon S3 S3-Antwort enthält eine ETag , die die kombinierten Objektdaten eindeutig identifiziert. Dies ETag ist nicht unbedingt ein MD5 Hash der Objektdaten.

Wenn Sie während eines mehrteiligen Uploads eine vollständige Objektprüfsumme angeben, übergibt das AWS SDK die Prüfsumme an Amazon S3, und S3 validiert die Objektintegrität serverseitig und vergleicht sie mit dem empfangenen Wert. Anschließend speichert S3 das Objekt, wenn die Werte übereinstimmen. Wenn die beiden Werte nicht übereinstimmen, schlägt Amazon S3 mit einem BadDigest-Fehler fehl. Die Prüfsumme Ihres Objekts wird auch in Objektmetadaten gespeichert, die Sie später verwenden werden, um die Datenintegrität eines Objekts zu überprüfen.

Beispielaufrufe mehrteiliger Uploads

Für dieses Beispiel nehmen wir an, dass Sie einen mehrteiligen Upload für eine 100-GB-Datei generieren. In diesem Fall hätten Sie die folgenden API-Aufrufe für den gesamten Prozess. Es würde insgesamt 1 002 API-Aufrufe geben.

Auflistungen mehrteiliger Uploads

Sie können alle Teile eines bestimmten Multipart-Uploads oder alle laufenden mehrteiligen Uploads auflisten. Die Operation für die Teileauflistung gibt die Teileinformationen zurück, die Sie für einen bestimmten mehrteiligen Upload hochgeladen haben. Für jeden Abruf einer Teileauflistung gibt Amazon S3 die Teileinformationen für einen angegebenen mehrteiligen Upload bis zu maximal 1.000 Teilen zurück. Wenn im mehrteiligen Upload mehr als 1 000 Teile vorhanden sind, müssen Sie eine Reihe von Teilauflistungsanforderungen senden, um alle Teile abzurufen. Beachten Sie, dass die zurückgegebene Teileauflistung keine Teile enthält, die noch nicht vollständig hochgeladen wurden. Bei Verwendung der Operation Mehrteilige Uploads auflisten können Sie eine Liste aller mehrteiligen Uploads erhalten, die sich in Bearbeitung befinden.

Ein mehrteiliger Upload in Verarbeitung ist ein Upload, den Sie gestartet haben, der aber noch nicht abgeschlossen ist oder abgebrochen wurde. Jeder Anforderung gibt bis zu 1.000 mehrteilige Uploads zurück. Wenn mehr als 1 000 mehrteilige Uploads vorhanden sind, müssen Sie zusätzliche Anforderungen senden, um die verbleibenden mehrteiligen Uploads abzurufen. Verwenden Sie die zurückgegebene Liste nur zur Überprüfung.

Wichtig

Verwenden Sie das Ergebnis dieser Auflistung nicht, wenn Sie eine Anforderung für den Abschluss eines mehrteiligen Uploads senden. Pflegen Sie stattdessen Ihre eigene Liste mit den Artikelnummern, die Sie beim Hochladen von Teilen angegeben haben, und den entsprechenden ETag Werten, die Amazon S3 zurückgibt.

Prüfsummen mit mehrteiligen Upload-Operationen

Wenn Sie ein Objekt auf Amazon S3 hochladen, können Sie einen Prüfsummenalgorithmus angeben, den Amazon S3 verwenden soll. Standardmäßig verwenden das AWS SDK und die S3-Konsole einen Algorithmus für alle Objekt-Uploads, den Sie überschreiben können. Wenn Sie ein älteres SDK verwenden und Ihr hochgeladenes Objekt keine angegebene Prüfsumme hat, verwendet Amazon S3 automatisch den CRC-64/NVME () -Prüfsummenalgorithmus. CRC64NVME (Dies ist auch die empfohlene Option für eine effiziente Überprüfung der Datenintegrität.) Bei Verwendung von CRC-64/NVME berechnet Amazon S3 die Prüfsumme des vollständigen Objekts, nachdem der mehrteilige oder einteilige Upload abgeschlossen ist. Der CRC-64/NVME-Prüfsummenalgorithmus wird verwendet, um entweder eine direkte Prüfsumme des gesamten Objekts oder eine Prüfsumme der Prüfsummen für jeden einzelnen Teil zu berechnen.

Nachdem Sie ein Objekt mithilfe eines mehrteiligen Uploads auf S3 hochgeladen haben, berechnet Amazon S3 den Prüfsummenwert für jeden Teil oder für das gesamte Objekt und speichert die Werte. Sie können die S3-API oder das AWS SDK verwenden, um den Prüfsummenwert auf folgende Weise abzurufen:

  • Für einzelne Teile können Sie GetObject oder HeadObject verwenden. Wenn Sie die Prüfsummenwerte für einzelne Teile von mehrteiligen Uploads abrufen möchten, die noch in Bearbeitung sind, können Sie ListParts verwenden.

  • Für das gesamte Objekt können Sie PutObject verwenden. Wenn Sie einen mehrteiligen Upload mit einer vollständigen Objektprüfsumme durchführen möchten, verwenden Sie CreateMultipartUpload und CompleteMultipartUpload, indem Sie den vollständigen Objektprüfsummentyp angeben. Um den Prüfsummenwert des gesamten Objekts zu überprüfen oder um zu überprüfen, welcher Prüfsummentyp beim mehrteiligen Upload verwendet wird, verwenden Sie ListParts.

Wichtig

Wenn Sie einen mehrteiligen Upload mit Prüfsummen verwenden, müssen die Artikelnummern für jeden Teil-Upload (im mehrteiligen Upload) fortlaufende Artikelnummern verwenden und mit 1 beginnen. Wenn Sie Prüfsummen verwenden und versuchen, eine mehrteilige Upload-Anforderung mit nicht aufeinanderfolgenden Teilenummern abzuschließen, generiert Amazon S3 einen HTTP 500 Internal Server-Fehler .

Weitere Informationen zur Funktionsweise von Prüfsummen mit mehrteiligen Upload-Objekten finden Sie unter Überprüfen der Objektintegrität in Amazon S3.

Ein end-to-end Verfahren, das zeigt, wie Sie ein Objekt mithilfe eines mehrteiligen Uploads mit einer zusätzlichen Prüfsumme hochladen, finden Sie unter. Tutorial: Ein Objekt durch mehrteiligen Upload hochladen und seine Datenintegrität überprüfen

Gleichzeitige mehrteilige Upload-Vorgänge

In einer verteilten Entwicklungsumgebung ist es für Ihre Anwendung möglich, mehrere Updates gleichzeitig für dasselbe Objekt zu initiieren. Ihre Anwendung kann möglicherweise mehrere Multipart-Uploads mit demselben Objektschlüssel initiieren. Für jeden dieser Uploads kann Ihre Anwendung Teile hochladen und eine Anfrage auf Abschluss des Uploads an Amazon S3 senden, um das Objekt zu erstellen. Wenn die Buckets die S3-Versioning aktiviert haben, wird beim Abschluss eines mehrteiligen Uploads immer eine neue Version erstellt. Wenn Sie mehrere mehrteilige Uploads initiieren, die denselben Objektschlüssel in einem Bucket mit aktivierter Versionsverwaltung verwenden, wird die aktuelle Version des Objekts davon bestimmt, welche Upload zuletzt gestartet wurde (createdDate).

Sie starten beispielsweise um 10:00 Uhr eine CreateMultipartUpload-Anfrage für ein Objekt. Anschließend reichen Sie um 11:00 Uhr eine zweite CreateMultipartUpload-Anfrage für dasselbe Objekt ein. Da die zweite Anfrage zuletzt eingereicht wurde, wird das mit der Anforderung um 11:00 Uhr hochgeladene Objekt zur aktuellen Version, auch wenn der erste Upload nach dem zweiten abgeschlossen wird. Für Buckets, bei denen die Versionsverwaltung nicht aktiviert ist, ist es möglich, dass jede andere Anfrage, die zwischen dem Zeitpunkt des Beginns des Multipart-Uploads und dessen Abschluss eingeht, Vorrang haben könnte.

Ein anderes Beispiel dafür, wann eine gleichzeitige mehrteilige Upload-Anforderung Vorrang haben kann, ist, wenn ein anderer Vorgang einen Schlüssel löscht, nachdem Sie einen mehrteiligen Upload mit diesem Schlüssel initiiert haben. Bevor Sie die Operation abschließen, könnte die Antwort für den vollständigen mehrteiligen Upload eine erfolgreiche Objekterstellung anzeigen, ohne dass Sie das Objekt jemals sehen.

Verhindern, dass beim mehrteiligen Upload Objekte mit identischen Schlüsselnamen hochgeladen werden

Sie können überprüfen, ob ein Objekt in Ihrem Bucket vorhanden ist, bevor Sie es mithilfe von bedingten Schreibvorgängen beim Hochladen erstellen. Dadurch kann verhindert werden, dass vorhandene Daten überschrieben werden. Durch bedingte Schreibvorgänge wird beim Hochladen überprüft, ob sich in Ihrem Bucket nicht bereits ein Objekt mit demselben Schlüsselnamen befindet.

Sie können bedingte Schreibvorgänge für PutObject- oder CompleteMultipartUpload-Anfragen verwenden.

Weitere Informationen zu bedingten Anfragen finden Sie unter Hinzufügen von Vorbedingungen zu S3-Vorgängen mit bedingten Anforderungen.

Mehrteiliger Upload und Preise

Nachdem Sie einen mehrteiligen Upload gestartet haben, behält Amazon S3 alle Teile bei, bis Sie den Upload abschließen oder abbrechen. Während seiner gesamten Lebensdauer werden Ihnen der gesamte Speicher, die Bandbreite und die Anforderungen für diesen mehrteiligen Upload und die zugehörigen Teile in Rechnung gestellt.

Diese Teile werden gemäß der Speicherklasse berechnet, die beim Hochladen der Teile angegeben wurde. Diese Teile werden Ihnen jedoch nicht in Rechnung gestellt, wenn sie in S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive hochgeladen werden. Teile eines laufenden mehrteiligen Uploads für eine PUT-Anfrage an die Speicherklasse S3 Glacier Flexible Retrieval werden bis zum Abschluss des Uploads als Staging-Speicher S3 Glacier Flexible Retrieval zu S3-Standardspeicherpreisen abgerechnet. Darüber hinaus werden sowohl CreateMultipartUpload als auch UploadPart zum S3-Standardtarif abgerechnet. Nur die CompleteMultipartUpload-Anforderung wird zum Tarif von S3 Glacier Flexible Retrieval abgerechnet. Entsprechend werden in Bearbeitung befindliche mehrteilige Teile für einen PUT in die Speicherklasse S3 Glacier Deep Archive als S3 Glacier Flexible Retrieval Staging Storage zu den S3-Standardspeicherpreisen in Rechnung gestellt, bis der Upload abgeschlossen ist. Nur die CompleteMultipartUpload-Anforderung wird zu S3 Glacier Deep Archive-Preisen in Rechnung gestellt.

Wenn Sie den mehrteiligen Upload abbrechen, löscht Amazon S3 Upload-Artefakte und alle Teile, die Sie hochgeladen haben. Diese Artefakte werden Ihnen nicht in Rechnung gestellt. Für das Löschen unvollständiger mehrteiliger Uploads fallen keine Gebühren für vorzeitiges Löschen an, unabhängig von der angegebenen Speicherklasse. Weitere Informationen zu Preisen finden Sie unter Amazon-S3-Preise.

Anmerkung

Wir empfehlen, eine Lebenszyklusregel zu konfigurieren, durch die unvollständige mehrteilige Uploads nach einer bestimmten Anzahl von Tagen mit der Aktion AbortIncompleteMultipartUpload gelöscht werden, um Ihre Speicherkosten gering zu halten. Weitere Informationen zum Erstellen einer Lebenszyklusregel zum Löschen unvollständiger mehrteiliger Uploads finden Sie unter Konfigurieren einer Bucket-Lebenszykluskonfiguration zum Löschen unvollständiger mehrteiliger Uploads.

API-Unterstützung für mehrteilige Uploads

In den folgenden Abschnitten der Amazon Simple Storage Service-API-Referenz wird die REST-API für mehrteilige Uploads beschrieben.

Eine Anleitung zum mehrteiligen Upload, bei der AWS Lambda-Funktionen verwendet werden, finden Sie unter Hochladen großer Objekte auf Amazon S3 mithilfe der mehrteiligen Upload- und Übertragungsbeschleunigung.

AWS Command Line Interface Unterstützung für mehrteiliges Hochladen

In den folgenden Themen werden die Vorgänge für den mehrteiligen Upload AWS Command Line Interface beschrieben.

AWS SDK-Unterstützung für mehrteiligen Upload

Sie können eine verwenden AWS SDKs , um ein Objekt in Teilen hochzuladen. Eine Liste der von der API AWS SDKs unterstützten Aktionen finden Sie unter:

API für mehrteilige Uploads und Berechtigungen

Sie müssen über die erforderlichen Berechtigungen verfügen, um die Multipart-Upload-Vorgänge zu verwenden. Sie können Zugriffskontrolllisten (ACLs), die Bucket-Richtlinie oder die Benutzerrichtlinie verwenden, um Einzelpersonen Berechtigungen zur Ausführung dieser Operationen zu gewähren. In der folgenden Tabelle sind die erforderlichen Berechtigungen für verschiedene mehrteilige Upload-Operationen aufgeführt ACLs, wenn Sie eine Bucket-Richtlinie oder eine Benutzerrichtlinie verwenden.

Aktion Erforderliche Berechtigungen

Multipart-Upload erstellen

Sie müssen die s3:PutObject-Aktion für ein Objekt ausführen können, um eine Anforderung für einen mehrteiligen Upload zu erstellen.

Der Bucket-Eigentümer kann anderen Prinzipalen erlauben, die Aktion s3:PutObject auszuführen.

Initiieren eines mehrteiligen Uploads

Sie müssen die s3:PutObject-Aktion für ein Objekt ausführen können, um einen mehrteiligen Upload zu initiieren.

Der Bucket-Eigentümer kann anderen Prinzipalen erlauben, die Aktion s3:PutObject auszuführen.

Initiator

Containerelement, das identifiziert, wer den Multipart-Upload initiiert hat. Wenn es sich bei dem Initiator um einen handelt AWS-Konto, liefert dieses Element dieselben Informationen wie das Owner-Element. Wenn der Initiator ein IAM-Benutzer ist, stellt dieses Element den Benutzer-ARN und den Anzeigenamen bereit.

Upload Part

Sie müssen die Aktion s3:PutObject für ein Objekt ausführen können, um einen Teil hochzuladen.

Der Bucket-Eigentümer muss dem Initiator erlauben, die Aktion s3:PutObject für ein Objekt auszuführen, damit der Initiator einen Teil für dieses Objekt hochladen kann.

Teil hochladen (kopieren)

Sie müssen die Aktion s3:PutObject für ein Objekt ausführen können, um einen Teil hochzuladen. Da Sie einen Teil eines vorhandenen Objekts hochladen, müssen Sie die Berechtigung s3:GetObject für das Quellobjekt besitzen.

Damit der Initiator einen Teil eines Objekts hochladen kann, muss der Bucket-Besitzer dem Initiator eine Genehmigung für die Ausführung der Aktion s3:PutObject für das Objekt erteilen.

Abschließen eines mehrteiligen Uploads

Sie müssen die Aktion s3:PutObject für ein Objekt ausführen können, um einen Multipart-Upload abzuschließen.

Der Bucket-Eigentümer muss dem Initiator erlauben, die Aktion s3:PutObject für ein Objekt auszuführen, damit der Initiator den mehrteiligen Upload für dieses Objekt abschließen kann.

Mehrteiligen Upload abbrechen

Sie müssen die Aktion s3:AbortMultipartUpload ausführen dürfen, um einen mehrteiligen Upload abzubrechen.

Standardmäßig können der Bucket-Eigentümer und der Initiator des mehrteiligen Uploads diese Aktion als Teil von IAM- und S3-Bucket-Richtlinien ausführen. Wenn der Initiator ein IAM-Benutzer ist, darf der Benutzer diesen AWS-Konto mehrteiligen Upload auch beenden. Bei VPC-Endpunktrichtlinien erhält der Initiator des mehrteiligen Uploads nicht automatisch die Berechtigung zum Ausführen der s3:AbortMultipartUpload-Aktion

Zusätzlich zu diesen Standardberechtigungen, kann der Bucket-Eigentümer anderen Prinzipalen erlauben, die Aktion s3:AbortMultipartUpload auszuführen. Der Bucket-Eigentümer kann jedem Prinzipal verbieten, die Aktion s3:AbortMultipartUpload auszuführen.

Teile auflisten

Sie müssen die Aktion s3:ListMultipartUploadParts ausführen können, um Teileauflistungen in einem mehrteiligen Upload anzufragen.

Standardmäßig kann der Bucket-Eigentümer Teileauflistungen von Multipart-Uploads in seinem Bucket anfordern. Der Initiator des mehrteiligen Uploads hat die Berechtigung, Teileauflistungen des spezifischen Multipart-Uploads aufzulisten. Wenn der Initiator des mehrteiligen Uploads ein IAM-Benutzer ist, hat der AWS-Konto kontrollierende IAM-Benutzer auch die Berechtigung, Teile dieses Uploads aufzulisten.

Zusätzlich zu diesen Standardberechtigungen, kann der Bucket-Eigentümer anderen Prinzipalen erlauben, die Aktion s3:ListMultipartUploadParts auszuführen. Der Bucket-Eigentümer kann jedem Prinzipal auch verbieten, die Aktion s3:ListMultipartUploadParts auszuführen.

List Multipart Uploads

Sie müssen die Aktion s3:ListBucketMultipartUploads für einen Bucket ausführen können, um eine Multipart-Uploads-Auflistung für diesen Bucket anzufragen.

Zusätzlich zu diesen Standardberechtigungen, kann der Bucket-Eigentümer anderen Prinzipalen erlauben, die Aktion s3:ListBucketMultipartUploads für ein Bucket auszuführen.

AWS KMS Die damit verbundenen Berechtigungen verschlüsseln und entschlüsseln

Um einen mehrteiligen Upload mit Verschlüsselung unter Verwendung eines AWS Key Management Service (AWS KMS) KMS-Schlüssels durchzuführen, muss der Anforderer über die folgenden Berechtigungen verfügen:

Diese Berechtigungen sind erforderlich, da Amazon S3 Daten aus den verschlüsselten Teilen der Datei entschlüsseln und lesen muss, bevor es den Multipart-Upload vornehmen kann. Die kms:Decrypt-Genehmigung und die serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln sind ebenfalls erforderlich, um den Prüfsummenwert eines Objekts zu erhalten. Wenn Sie bei der Verwendung der CompleteMultipartUpload-API nicht über diese erforderlichen Berechtigungen verfügen, wird das Objekt ohne Prüfsummenwert erstellt.

Wenn Ihr IAM-Benutzer oder Ihre IAM-Rolle dem KMS-Schlüssel entspricht, überprüfen Sie, ob Sie über Berechtigungen sowohl für den Schlüssel AWS-Konto als auch für die IAM-Richtlinie verfügen. Wenn Ihr IAM-Benutzer oder Ihre Rolle zu einem anderen Konto als der KMS-Schlüssel gehört, müssen Sie über die Berechtigungen sowohl für die Schlüsselrichtlinie als auch für Ihren IAM-Benutzer oder Ihre Rolle verfügen.

SSE-C (serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln)

Wenn Sie die CompleteMultipartUpload-API verwenden, müssen Sie SSE-C (serverseitige Verschlüsselung mit vom Kunden bereitgestellten Verschlüsselungsschlüsseln) angeben. Andernfalls wird Ihr Objekt ohne Prüfsumme erstellt und es wird kein Prüfsummenwert zurückgegeben.

Weitere Informationen zur Beziehung zwischen ACL-Berechtigungen und Berechtigungen in Zugriffsrichtlinien finden Sie unter Mapping der ACL-Berechtigungen und Zugriffsrichtlinienberechtigungen. Weitere Informationen zu IAM-Benutzern, Gruppen, Rollen und bewährten Methoden finden Sie unter Identitäten (Benutzer, Gruppen und Rollen) im IAM-Benutzerhandbuch.

Prüfsummen mit mehrteiligen Upload-Operationen

Es gibt drei Amazon S3 APIs , die verwendet werden, um den eigentlichen mehrteiligen Upload durchzuführen: CreateMultipartUploadUploadPart, und CompleteMultipartUpload. In der folgenden Tabelle ist angegeben, welche Prüfsummen-Header und Werte für die einzelnen Felder angegeben werden müssen: APIs

Prüfsummenalgorithmus Prüfsummentyp CreateMultipartUpload UploadPart CompleteMultipartUpoad

CRC-64/NVME () CRC64NVME

Vollständiges Objekt Erforderliche Header:

x-amz-checksum-algorithm

Optionale Header:

x-amz-checksum-crc64nvme

Optionale Header:

x-amz-checksum-algorithm

x-amz-crc64

CRC-32 () CRC32

CRC 32-C () CRC32C

Vollständiges Objekt

Erforderliche Header:

x-amz-checksum-algorithm

x-amz-checksum-type

Optionale Header:

x-amz-checksum-crc64nvme

Optionale Header:

x-amz-checksum-algorithm

x-amz-crc32

x-amz-crc32c

CRC-32 () CRC32

CRC-32 C () CRC32C

SHA-1 () SHA1

SHA-256 () SHA256

Zusammengesetzt

Erforderliche Header:

x-amz-checksum-algorithm

Erforderliche Header:

x-amz-checksum-crc32

x-amz-checksum-crc32c

x-amz-checksum-sha1

x-amz-checksum-sha256

Erforderliche Header:

Alle Prüfsummen auf Teilebene müssen in der CompleteMultiPartUpload-Anforderung enthalten sein.

Optionale Header:

x-amz-crc32

x-amz-crc32c

x-amz-sha1

x-amz-sha256