Abbrechen eines mehrteiligen Uploads - 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.

Abbrechen eines mehrteiligen Uploads

Nachdem Sie einen mehrteiligen Upload initiiert haben, beginnen Sie mit dem Hochladen von Teilen. Amazon S3 speichert diese Teile und erstellt das Objekt erst, nachdem Sie alle Teile hochgeladen und eine Anforderung für den Abschluss des mehrteiligen Uploads gesendet haben. Nach dem Empfang der Anfrage auf Abschluss des Multipart-Uploads erzeugt Amazon S3 aus den Teilen ein Objekt. Wenn die Anforderung für den Abschluss des mehrteiligen Uploads nicht erfolgreich ist, fügt Amazon S3 die Teile nicht zusammen und erstellt daher auch kein Objekt. Wenn Sie einen mehrteiligen Upload nach dem Hochladen von Teilen nicht abschließen möchten, sollten Sie den mehrteiligen Upload abbrechen.

Ihnen wird der gesamte Speicher in Rechnung gestellt, der mit hochgeladenen Teilen verknüpft ist. Es wird empfohlen, den mehrteiligen Upload immer abzuschließen oder den mehrteiligen Upload anzuhalten, um hochgeladene Teile zu entfernen. Weitere Informationen zu Preisen erhalten Sie unter Mehrteiliger Upload und Preise.

Sie können einen unvollständigen mehrteiligen Upload auch mithilfe einer Bucket-Lebenszykluskonfiguration beenden. Weitere Informationen finden Sie unter Konfigurieren einer Bucket-Lebenszykluskonfiguration zum Löschen unvollständiger mehrteiliger Uploads.

Der folgende Abschnitt zeigt, wie Sie einen laufenden mehrteiligen Upload in Amazon S3 mithilfe der REST-API AWS Command Line Interface oder stoppen können. AWS SDKs

Weitere Informationen zur Verwendung von AWS CLI zum Beenden eines mehrteiligen Uploads finden Sie abort-multipart-uploadin der AWS CLI Befehlsreferenz.

Weitere Informationen zur Verwendung der REST-API zum Stoppen eines mehrteiligen Uploads finden Sie AbortMultipartUploadin der Amazon Simple Storage Service API-Referenz.

Java

Um laufende mehrteilige Uploads mithilfe des AWS SDK for Java zu beenden, können Sie Uploads abbrechen, die vor einem bestimmten Datum initiiert wurden und noch in Bearbeitung sind. Ein Upload wird als laufend betrachtet, nachdem Sie ihn initiiert haben und bis er abgeschlossen ist oder Sie ihn abbrechen.

Um mehrteilige Uploads zu stoppen, können Sie:

1

Erstellen Sie eine S3Client-Instanz.

2

Verwenden Sie die Abbruchmethoden des Clients, indem Sie den Bucket-Namen und andere erforderliche Parameter übergeben.

Anmerkung

Sie können auch einen bestimmten mehrteiligen Upload abbrechen. Weitere Informationen finden Sie unter Verwenden der AWS SDKs (Low-Level-API).

Beispiele dafür, wie Sie mehrteilige Uploads mit dem AWS SDK for Java abbrechen können, finden Sie unter Abbrechen eines mehrteiligen Uploads in der Amazon S3 S3-API-Referenz.

.NET

Das folgende C#-Bespiel bricht alle laufenden mehrteiligen Uploads ab, die vor mehr als einer Woche für einen bestimmten Bucket initiiert wurden. Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter Getting Started with the AWS SDK for .NET im AWS SDK for .NET Developer Guide.

using Amazon; using Amazon.S3; using Amazon.S3.Transfer; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class AbortMPUUsingHighLevelAPITest { private const string bucketName = "*** provide bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); AbortMPUAsync().Wait(); } private static async Task AbortMPUAsync() { try { var transferUtility = new TransferUtility(s3Client); // Abort all in-progress uploads initiated before the specified date. await transferUtility.AbortMultipartUploadsAsync( bucketName, DateTime.Now.AddDays(-7)); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } } }
Anmerkung

Sie können auch einen bestimmten mehrteiligen Upload abbrechen. Weitere Informationen finden Sie unter Verwenden der AWS SDKs (Low-Level-API).

Durch Aufruf der Methode AmazonS3.abortMultipartUpload können Sie einen mehrteiligen Upload in Bearbeitung abbrechen. Diese Methode löscht alle Teile, die in Amazon S3 hochgeladen wurden, und gibt die Ressourcen frei. Sie müssen die Upload-ID, den Bucket-Namen und die Schlüsselnamen bereitstellen. Das folgende Java-Codebeispiel zeigt, wie ein laufender mehrteiliger Upload abgebrochen wird.

Um einen mehrteiligen Upload abzubrechen, stellen Sie die Upload-ID bereit sowie die Bucket- und Schlüsselnamen, die im Upload verwendet werden. Nachdem ein mehrteiliger Upload abgebrochen wurde, können Sie mit dieser Upload-ID keinen zusätzlichen Teile mehr hochladen. Weitere Informationen über mehrteilige Amazon-S3-Uploads finden Sie unter Hochladen und Kopieren von Objekten mit mehrteiligen Uploads in Amazon S3.

Java

Um einen bestimmten laufenden mehrteiligen Upload mithilfe des AWS SDK for Java zu stoppen, können Sie die Low-Level-API verwenden, um den Upload abzubrechen, indem Sie den Bucket-Namen, den Objektschlüssel und die Upload-ID angeben.

Anmerkung

Anstatt einen bestimmten mehrteiligen Upload abzubrechen, können Sie alle mehrteiligen Uploads stoppen, die vor einem bestimmten Zeitpunkt initiiert wurden und noch im Gange sind. Diese Bereinigungsoperation ist praktisch, um alte mehrteilige Uploads abzubrechen, die Sie initiiert haben, aber die nicht abgeschlossen oder abgebrochen wurden. Weitere Informationen finden Sie unter Verwendung der AWS SDKs (High-Level-API).

Beispiele dafür, wie Sie einen bestimmten mehrteiligen Upload mit dem AWS SDK for Java abbrechen können, finden Sie unter Abbrechen eines mehrteiligen Uploads in der Amazon S3 S3-API-Referenz.

.NET

Das folgende C#-Beispiel veranschaulicht, wie Sie einen mehrteiligen Upload abbrechen. Ein vollständiges C#-Beispiel mit dem folgenden Code finden Sie unter Verwenden der AWS SDKs (Low-Level-API).

AbortMultipartUploadRequest abortMPURequest = new AbortMultipartUploadRequest { BucketName = existingBucketName, Key = keyName, UploadId = initResponse.UploadId }; await AmazonS3Client.AbortMultipartUploadAsync(abortMPURequest);

Sie können auch alle laufenden mehrteiligen Uploads abbrechen, die vor einem bestimmten Zeitpunkt initiiert wurden. Diese Bereinigungsoperation ist praktisch, um mehrteilige Uploads abzubrechen, die nicht abgeschlossen oder abgebrochen wurden. Weitere Informationen finden Sie unter Verwendung der AWS SDKs (High-Level-API).

PHP

Dieses Beispiel zeigt, wie Sie eine Klasse aus Version 3 des AWS SDK für PHP für PHP verwenden, um einen laufenden mehrteiligen Upload abzubrechen. Weitere Informationen zum AWS SDK for Ruby API finden Sie unter AWS SDK for Ruby — Version 2. Das Beispiel der Methode abortMultipartUpload().

Weitere Informationen zum AWS SDK for Ruby API finden Sie unter AWS SDK for Ruby — Version 2.

require 'vendor/autoload.php'; use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $keyname = '*** Your Object Key ***'; $uploadId = '*** Upload ID of upload to Abort ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); // Abort the multipart upload. $s3->abortMultipartUpload([ 'Bucket' => $bucket, 'Key' => $keyname, 'UploadId' => $uploadId, ]);