Wie kann ich eine Amazon-S3-Lebenszykluskonfigurationsregel zur Bereinigung unvollständiger mehrteiliger Uploads bestätigen?
Ich habe eine Lebenszykluskonfigurationsregel für Amazon Simple Storage Service (Amazon S3) eingerichtet, um unvollständige mehrteilige Uploads zu bereinigen. Ich möchte sicherstellen, dass die Regel funktioniert.
Lösung
Hinweis: Wenn du die AWS Command Line Interface (AWS CLI) verwendest, um die Regel festzulegen, heißt die Regel AbortIncompleteMultipartUpload.
Du kannst die Lebenszykluskonfigurationsregel auf eine der folgenden Arten überprüfen.
Serverzugriffsprotokolle abfragen
Um Serverzugriffsprotokolle abzufragen, musst du die Serverzugriffsprotokollierung in deinem Bucket aktiviert haben, bevor die Lebenszyklusregel ausgeführt wird. Nachdem die Protokolle verfügbar sind, kannst du die Protokolle überprüfen, um zu überprüfen, ob die Regel einen unvollständigen mehrteiligen Upload bereinigt hat. Weitere Informationen zu den Vorgängen, über die Serverzugriffsprotokolle berichten, findest du unter Lebenszyklus und Protokollierung.
Teste die Regel, indem du einige Teile eines mehrteiligen Uploads mithilfe der AWS-CLI hochlädst
Wenn du die Serverzugriffsprotokollierung nicht aktiviert hast, kannst du die Regel testen, indem du einen unvollständigen mehrteiligen Upload ausführst:
Hinweis: Das folgende Beispiel verwendet die AWS-CLI, um einen mehrteiligen Upload durchzuführen. Informationen zur Verwendung eines AWS-SDK für einen mehrteiligen Upload findest du unter Objekte mithilfe eines mehrteiligen Uploads hochladen und kopieren.
-
Teile die Datei, die du hochladen möchtest, in mehrere Teile auf. Wenn du beispielsweise ein Linux-Betriebssystem verwendest, kannst du den Befehl „split“ ausführen, ähnlich wie im folgenden Beispiel:
split /path/to/filetoupload -
Führe den Befehl create-multipart-upload mithilfe der AWS-CLI aus, um einen mehrteiligen Upload zu initiieren, ähnlich wie im folgenden Beispiel:
aws s3api create-multipart-upload --bucket awsexamplebucket --key large_test_file -
Der Befehl gibt eine Ausgabe zurück, die die UploadID enthält. Kopiere den UploadID-Wert als Referenz für spätere Schritte. Die Befehlsausgabe ähnelt der folgenden:
{ "AbortDate": "Mon, 03 Jun 2019 00:00:00 GMT", "AbortRuleId": "multipartcleanup", "Bucket": "awsexamplebucket", "Key": "objectname", "UploadId": "exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk" } -
Führe den Befehl upload-part aus, um den ersten Teil der Datei hochzuladen, ähnlich wie im folgenden Beispiel. Ersetze alle Werte durch die Werte für deinen Bucket, deine Datei und deinen mehrteiligen Upload:
aws s3api upload-part --bucket awsexamplebucket --key large_test_file --part-number 1 --body large_test_file.001 --upload-id exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk -
Der Befehl gibt eine Ausgabe zurück, die einen ETag-Wert für den Teil der Datei enthält, den du hochgeladen hast. Kopiere den ETag-Wert als Referenz für spätere Schritte. Die Befehlsausgabe ähnelt der folgenden:
-
Wiederhole die Schritte 3 und 4 für einige Teile der Datei. Lade für diesen Test nicht alle Teile hoch, um die Datei zu vervollständigen.
{ "ETag": "\"example8be9a0268ebfb8b115d4c1fd3\"" }Hinweis: Achte darauf, die Artikelnummer mit jedem neuen Teil, das du hochlädst, zu erhöhen.
-
Führe für diesen Test den mehrteiligen Upload-Vorgang nicht zu Ende und brich ihn nicht ab. Notiere dir stattdessen die Teile, die mit dem Befehl list-parts hochgeladen wurden, ähnlich wie im folgenden Beispiel:
aws s3api list-parts --bucket awsexamplebucket --key large_test_file --upload-id exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk -
Der Befehl gibt eine Liste der Teile zurück, ähnlich wie im folgenden Beispiel:
{ "Parts": [ { "PartNumber": 1, "LastModified": "2019-06-01T18:17:39.000Z", "ETag": "\"example8be9a0268ebfb8b115d4c1fd3\"", "Size": 162641 }, { "PartNumber": 2, "LastModified": "2019-06-01T18:18:19.000Z", "ETag": "\"example246e31ab807da6f62802c1ae8\"", "Size": 3961 } ], "Initiator": { "ID": "arn:aws:iam::111122223333:user/jane", "DisplayName": "jane" }, "Owner": { "DisplayName": "bucketowner", "ID": "examplea2395fe1985ffabfe0c17d3522e5bc7fa1a2d048f8fc764d7709da80d" }, "StorageClass": "STANDARD" } -
Notiere dir die laufenden mehrteiligen Uploads für deinen Bucket, indem du den Befehl list-multipart-uploads ausführst, ähnlich wie im folgenden Beispiel:
aws s3api list-multipart-uploads --bucket awsexamplebucketDer Befehl gibt eine Liste der laufenden mehrteiligen Uploads zurück, ähnlich wie im folgenden Beispiel:
{ "Uploads": [ { "UploadId": "exampleTUVGeKAk3Ob7qMynRKqe3ROcavPRwg92eA6JPD4ybIGRxJx9R0VbgkrnOVphZFK59KCYJAO1PXlrBSW7vcH7ANHZwTTf0ovqe6XPYHwsSp7eTRnXB1qjx40Tk", "Key": "large_test_file", "Initiated": "2019-06-01T17:08:33.000Z", "StorageClass": "STANDARD", "Owner": { "DisplayName": "bucketowner", "ID": "examplea2395fe1985ffabfe0c17d3522e5bc7fa1a2d048f8fc764d7709da80d" }, "Initiator": { "ID": "arn:aws:iam::111122223333:user/jane", "DisplayName": "jane" } } ] } -
Bei der Festlegung der Lebenszykluskonfigurationsregel hast du angegeben, wie viele Tage nach dem Start eines mehrteiligen Uploads die Bereinigung erfolgen soll. Warte die Anzahl der Tage ab, die du für die Regel festgelegt hast.
-
Führe den Befehl list-parts erneut aus, um zu bestätigen, dass die Teile des unvollständigen mehrteiligen Uploads gelöscht wurden. Nachdem die Teile durch die Regel gelöscht wurden, gibt der Befehl die folgende Antwort zurück: "An error occurred (NoSuchUpload) when calling the ListParts operation: The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed."
-
Führe den Befehl list-multipart-uploads erneut aus, um zu bestätigen, dass der mehrteilige Vorgang gestoppt wurde. Nachdem der mehrteilige Vorgang durch die Regel gestoppt wurde, gibt der Befehl keine Ausgabe zurück.
Ähnliche Informationen
Wie verwende ich die AWS CLI, um eine große Datei in mehreren Teilen auf Amazon S3 hochzuladen?
- Themen
- Storage
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor 10 Monaten