Membatalkan unggahan multibagian - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membatalkan unggahan multibagian

Setelah memulai unggahan multibagian, Anda memulai pengunggahan bagian. Amazon S3 menyimpan bagian-bagian ini, dan hanya membuat objek setelah Anda mengunggah semua bagian dan mengirim permintaan untuk menyelesaikan unggahan multipart. Setelah menerima keseluruhan permintaan unggahan multibagian, Amazon S3 akan menyusun bagian-bagiannya, dan membuat sebuah objek. Jika Anda tidak berhasil mengirim permintaan unggahan multibagian lengkap, S3 tidak merakit komponen dan tidak membuat objek apa pun. Jika Anda ingin tidak menyelesaikan unggahan multipart setelah mengunggah bagian, Anda harus membatalkan unggahan multipart.

Anda akan ditagih untuk semua penyimpanan yang terkait dengan bagian yang diunggah. Disarankan untuk selalu menyelesaikan unggahan multibagian atau menghentikan unggahan multibagian untuk menghapus bagian yang diunggah. Untuk informasi lebih lanjut tentang harga, lihatUnggahan multibagian dan harga.

Anda juga dapat menghentikan unggahan multibagian yang tidak lengkap menggunakan konfigurasi siklus hidup bucket. Untuk informasi selengkapnya, lihat Mengonfigurasi siklus hidup bucket untuk menghapus unggahan multibagian yang tidak lengkap.

Bagian berikut menunjukkan cara menghentikan unggahan multibagian yang sedang berlangsung di Amazon S3 menggunakan AWS Command Line Interface,, atau. REST API AWS SDKs

Untuk informasi selengkapnya tentang penggunaan AWS CLI untuk menghentikan unggahan multibagian, lihat abort-multipart-uploaddi Referensi AWS CLI Perintah.

Untuk informasi selengkapnya tentang penggunaan REST API untuk menghentikan unggahan multibagian, lihat AbortMultipartUploaddi APIReferensi Layanan Penyimpanan Sederhana Amazon.

Java

Kelas TransferManager menyediakan metode abortMultipartUploads untuk menghentikan unggahan multibagian yang sedang berlangsung. Pengunggahan dianggap sedang berlangsung setelah Anda memulainya, dan hingga Anda menyelesaikan atau menghentikannya. Anda memberikan Date nilai, dan ini API menghentikan semua unggahan multibagian pada bucket yang dimulai sebelum ditentukan Date dan masih dalam proses.

Tugas berikut memandu Anda dalam menggunakan kelas Java tingkat tinggi untuk menghentikan pengunggahan multibagian.

Proses penghentian unggahan API multipart tingkat tinggi

1

Buat instans dari kelas TransferManager.

2

Jalankan metode TransferManager.abortMultipartUploads dengan meneruskan nama bucket dan nilai Date.

Contoh kode Java berikut menghentikan semua unggahan multibagian yang sedang berlangsung yang dimulai pada bucket tertentu lebih dari satu minggu yang lalu. Untuk petunjuk tentang cara membuat dan menguji sampel kerja, lihat Memulai di Panduan AWS SDK for Java Pengembang.

import java.util.Date; import com.amazonaws.AmazonClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3.transfer.TransferManager; public class AbortMPUUsingHighLevelAPI { public static void main(String[] args) throws Exception { String existingBucketName = "*** Provide existing bucket name ***"; TransferManager tm = new TransferManager(new ProfileCredentialsProvider()); int sevenDays = 1000 * 60 * 60 * 24 * 7; Date oneWeekAgo = new Date(System.currentTimeMillis() - sevenDays); try { tm.abortMultipartUploads(existingBucketName, oneWeekAgo); } catch (AmazonClientException amazonClientException) { System.out.println("Unable to upload file, upload was aborted."); amazonClientException.printStackTrace(); } } }
catatan

Anda juga dapat menghentikan unggahan multibagian tertentu. Untuk informasi selengkapnya, lihat Menggunakan AWS SDKs (tingkat rendahAPI).

.NET

Contoh C# berikut menghentikan semua unggahan multibagian yang sedang berlangsung yang dimulai pada bucket tertentu lebih dari seminggu yang lalu. Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai dengan AWS SDK for. NETdi AWS SDKuntuk. NETPanduan Pengembang.

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); } } } }
catatan

Anda juga dapat menghentikan unggahan multibagian tertentu. Untuk informasi selengkapnya, lihat Menggunakan AWS SDKs (tingkat rendahAPI).

Anda dapat menghentikan unggahan multibagian yang sedang berlangsung dengan memanggil metode AmazonS3.abortMultipartUpload. Metode ini menghapus semua bagian yang diunggah pada Amazon S3, dan mengosongkan sumber daya. Anda harus menyediakan ID unggahan, nama bucket, dan nama kunci. Contoh kode Java berikut menunjukkan cara menghentikan sebuah unggahan multibagian yang sedang berlangsung.

Untuk menghentikan unggahan multibagian, Anda harus memberikan ID unggahan, dan bucket serta nama kunci yang digunakan dalam unggahan tersebut. Setelah Anda menghentikan unggahan multibagian, Anda tidak dapat menggunakan ID unggahan untuk mengunggah bagian tambahan. Untuk informasi selengkapnya tentang unggahan multibagian Amazon S3, lihat Mengunggah dan menyalin objek menggunakan unggahan multibagian.

Java

Contoh kode Java berikut menghentikan unggahan multibagian yang sedang berlangsung.

InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(existingBucketName, keyName); InitiateMultipartUploadResult initResponse = s3Client.initiateMultipartUpload(initRequest); AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); s3Client.abortMultipartUpload(new AbortMultipartUploadRequest( existingBucketName, keyName, initResponse.getUploadId()));
catatan

Alih-alih melakukan unggahan multibagian tertentu, Anda dapat menghentikan semua unggahan multibagian yang dimulai sebelum waktu tertentu yang masih berlangsung. Operasi pembersihan ini berguna untuk menghentikan unggahan multibagian lama yang Anda mulai tetapi tidak diselesaikan atau dihentikan. Untuk informasi selengkapnya, lihat Menggunakan AWS SDKs (tingkat tinggiAPI).

.NET

Contoh C# berikut menunjukkan cara untuk menghentikan unggahan multibagian. Untuk keseluruhan sampel C# yang mencakup kode berikut, lihat Menggunakan AWS SDKs (tingkat rendahAPI).

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

Anda juga dapat membatalkan semua unggahan multibagian yang sedang berlangsung, yang dimulai sebelum waktu tertentu. Operasi pembersihan ini berguna untuk membatalkan unggahan multibagian yang tidak selesai atau dibatalkan. Untuk informasi selengkapnya, lihat Menggunakan AWS SDKs (tingkat tinggiAPI).

PHP

Contoh ini menunjukkan cara menggunakan kelas dari versi 3 AWS SDK for PHP untuk membatalkan unggahan multibagian yang sedang berlangsung. Untuk informasi lebih lanjut tentang AWS SDK untuk RubyAPI, buka AWS SDKuntuk Ruby - Versi 2. Contoh metode abortMultipartUpload().

Untuk informasi lebih lanjut tentang AWS SDK untuk RubyAPI, buka AWS SDKuntuk Ruby - Versi 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, ]);