Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan unggahan multibagian dengan bucket direktori
Anda dapat menggunakan proses upload multipart untuk mengunggah satu objek sebagai satu set bagian. Setiap bagian merupakan bagian data objek yang saling berkaitan. Anda dapat mengunggah bagian-bagian objek tersebut secara independen dan dengan urutan apa pun. Jika ada transmisi bagian mana pun yang gagal, Anda dapat mentransmisikan ulang bagian tersebut tanpa memengaruhi bagian lainnya. Setelah semua bagian objek Anda diunggah, Amazon S3 merakit bagian-bagian ini dan menciptakan objek. Secara umum, saat ukuran objek Anda mencapai 100 MB, Anda harus mempertimbangkan untuk menggunakan unggahan multibagian daripada mengunggah objek tersebut dalam satu operasi.
Penggunaan unggahan multibagian memberikan keuntungan sebagai berikut:
-
Peningkatan throughput–Anda dapat mengunggah bagian-bagian secara paralel untuk meningkatkan throughput.
-
Pemulihan cepat dari masalah jaringan apa pun - Ukuran bagian yang lebih kecil meminimalkan dampak memulai ulang unggahan yang gagal karena kesalahan jaringan.
-
Jeda dan pelanjutan pengunggahan objek–Anda dapat mengunggah bagian-bagian objek kapan saja. Setelah Anda memulai unggahan multipart, tidak ada tanggal kedaluwarsa. Anda harus secara eksplisit menyelesaikan atau membatalkan unggahan multipart.
-
Mulai unggahan sebelum Anda mengetahui ukuran akhir objek–Anda dapat mengunggah sebuah objek selagi Anda membuatnya.
Kami menyarankan Anda menggunakan unggahan multipart dengan cara berikut:
-
Jika Anda mengunggah objek besar melalui jaringan bandwidth tinggi yang stabil, gunakan unggahan multipart untuk memaksimalkan penggunaan bandwidth yang tersedia dengan mengunggah bagian objek secara paralel untuk kinerja multi-threaded.
-
Jika Anda mengunggah melalui jaringan jerawatan, gunakan unggahan multibagian untuk meningkatkan ketahanan terhadap kesalahan jaringan dengan menghindari pengunggahan dimulai ulang. Saat menggunakan unggahan multibagian, Anda perlu mencoba mengunggah kembali hanya bagian yang terputus selama pengunggahan. Anda tidak perlu mengunggah ulang objek Anda dari awal.
Saat Anda menggunakan unggahan multibagian untuk mengunggah objek ke kelas penyimpanan Amazon S3 Express One Zone dalam bucket direktori, proses pengunggahan multibagian mirip dengan proses menggunakan unggahan multibagian untuk mengunggah objek ke bucket tujuan umum. Namun, ada beberapa perbedaan penting.
Untuk informasi selengkapnya tentang penggunaan unggahan multibagian untuk mengunggah objek ke S3 Express One Zone, lihat topik berikut.
Topik
Proses pengunggahan multipart
Unggahan multipart adalah proses tiga langkah:
-
Anda memulai unggahan.
-
Anda mengunggah bagian objek.
-
Setelah Anda mengunggah semua bagian, Anda menyelesaikan unggahan multibagian.
Setelah menerima permintaan upload multipart lengkap, Amazon S3 membuat objek dari bagian yang diunggah, dan Anda kemudian dapat mengakses objek seperti halnya objek lain di bucket Anda.
Menginisiasi unggahan multibagian
Saat Anda mengirim permintaan untuk memulai unggahan multibagian, Amazon S3 mengirimkan respons dengan ID unggahan, yang merupakan pengidentifikasi unik untuk unggahan multibagian Anda. Anda harus menyertakan ID unggahan ini setiap kali Anda mengunggah bagian, mendaftar bagian, menyelesaikan unggahan, atau membatalkan sebuah unggahan.
Pengunggahan bagian-bagian
Saat mengunggah sebuah bagian, selain ID pengunggahan, Anda harus menentukan nomor bagiannya. Saat Anda menggunakan unggahan multibagian dengan S3 Express One Zone, nomor bagian multipart harus berupa nomor bagian yang berurutan. Jika Anda mencoba menyelesaikan permintaan unggahan multibagian dengan nomor bagian yang tidak berurutan, kesalahan HTTP 400 Bad Request
(Pesanan Bagian Tidak Valid) akan dihasilkan.
Nomor bagian secara unik mengidentifikasi bagian dan posisinya dalam objek yang Anda unggah. Jika Anda mengunggah bagian baru dengan menggunakan nomor bagian yang sama dengan bagian yang diunggah sebelumnya, bagian yang diunggah sebelumnya akan ditimpa.
Setiap kali Anda mengunggah bagian, Amazon S3 mengembalikan header tag entitas (ETag) dalam responsnya. Untuk setiap unggahan bagian, Anda harus mencatat nomor bagian dan ETag nilainya. ETagNilai untuk semua unggahan bagian objek akan tetap sama, tetapi setiap bagian akan diberi nomor bagian yang berbeda. Anda harus memasukkan nilai-nilai ini dalam permintaan selanjutnya untuk menyelesaikan unggahan multibagian.
Amazon S3 secara otomatis mengenkripsi semua objek baru yang diunggah ke bucket S3. Saat melakukan pengunggahan multibagian, jika Anda tidak menentukan informasi enkripsi dalam permintaan, pengaturan enkripsi bagian yang diunggah diatur ke konfigurasi enkripsi default bucket tujuan. Konfigurasi enkripsi default bucket Amazon S3 selalu diaktifkan dan diatur secara minimum ke enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3). Untuk bucket direktori, SSE-S3 dan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS) didukung. Untuk informasi selengkapnya, lihat Perlindungan data dan enkripsi.
Penyelesaian unggahan multibagian
Saat Anda menyelesaikan unggahan multibagian, Amazon S3 membuat objek dengan menggabungkan bagian-bagian dalam urutan menaik berdasarkan nomor bagian. Setelah permintaan selesai sepenuhnya, bagiantersebut tidak akan ada lagi.
Permintaan unggahan multibagian lengkap Anda harus menyertakan ID unggahan dan daftar nomor bagian dan ETag nilai yang sesuai. Respons Amazon S3 mencakup ETag yang secara unik mengidentifikasi data objek gabungan. ETag Ini bukan MD5 hash dari data objek.
Pendaftaran unggahan multibagian
Anda dapat mendaftar bagian-bagian dari unggahan multibagian tertentu atau semua unggahan multibagian yang sedang berlangsung. Operasi daftar bagian menampilkan informasi bagian yang telah Anda unggah untuk unggahan multibagian tertentu. Untuk setiap permintaan daftar bagian, Amazon S3 akan menampilkan informasi bagian untuk unggahan multibagian tertentu, hingga maksimum 1.000 bagian. Jika ada lebih dari 1.000 bagian dalam unggahan multibagian, Anda harus menggunakan penomoran halaman untuk mengambil semua bagian.
Daftar suku cadang yang dikembalikan tidak termasuk bagian yang belum selesai diunggah. Dengan menggunakan operasi daftar unggahan multibagian, Anda dapat memperoleh daftar unggahan multibagian yang sedang berlangsung.
Unggahan multibagian yang sedang berlangsung adalah unggahan yang telah Anda mulai, tetapi belum selesai atau dibatalkan. Setiap permintaan akan ditampilkan sebanyak maksimum 1.000 unggahan multibagian. Jika ada lebih dari 1.000 unggahan multibagian yang sedang berlangsung, Anda harus mengirim permintaan tambahan untuk mengambil unggahan multibagian yang tersisa. Gunakan pendaftaran yang ditampilkan untuk verifikasi. Jangan menggunakan hasil pendaftaran ini saat mengirim permintaan selesaikan unggahan multibagian. Sebagai gantinya, pertahankan daftar nomor bagian Anda sendiri yang Anda tentukan saat mengunggah bagian dan ETag nilai terkait yang dikembalikan Amazon S3.
Untuk informasi selengkapnya tentang daftar unggahan multipart, lihat ListParts dalam Referensi API Layanan Penyimpanan Sederhana Amazon.
Checksum dengan operasi unggahan multibagian
Saat Anda mengunggah objek, Anda dapat menentukan algoritma checksum untuk memeriksa integritas objek. MD5 tidak didukung untuk bucket direktori. Anda dapat menentukan salah satu algoritma pemeriksaan integritas data Secure Hash Algorithms (SHA) atau Cyclic Redundancy Check (CRC) berikut:
-
CRC32
-
CRC32C
-
SHA-1
-
SHA-256
Anda dapat menggunakan Amazon S3 REST API atau AWS SDKs untuk mengambil nilai checksum untuk masing-masing bagian dengan menggunakan atau. GetObject
HeadObject
Jika Anda ingin mengambil nilai checksum untuk masing-masing bagian dari unggahan multibagian yang masih dalam proses, Anda dapat menggunakan ListParts
.
penting
Saat menggunakan algoritma checksum sebelumnya, nomor bagian multipart harus menggunakan nomor bagian berurutan. Jika Anda mencoba menyelesaikan permintaan unggahan multibagian dengan nomor bagian yang tidak berurutan, Amazon S3 menghasilkan kesalahan HTTP 400 Bad Request
(Pesanan Bagian Tidak Valid).
Untuk informasi selengkapnya tentang cara kerja checksum dengan objek unggahan multibagian, lihat. Memeriksa integritas objek di Amazon S3
Operasi pengunggahan multibagian serentak
Dalam lingkungan pengembangan terdistribusi, aplikasi Anda dapat memulai beberapa pembaruan pada objek yang sama secara bersamaan. Misalnya, aplikasi Anda mungkin memulai beberapa unggahan multipart dengan menggunakan kunci objek yang sama. Untuk setiap unggahan ini, aplikasi Anda kemudian dapat mengunggah bagian dan mengirim sebuah permintaan menyelesaikan unggahan ke Amazon S3 untuk membuat objek. Untuk S3 Express One Zone, waktu pembuatan objek adalah tanggal penyelesaian unggahan multibagian.
penting
Pembuatan versi tidak didukung untuk objek yang disimpan dalam bucket direktori.
Unggahan dan harga multipart
Setelah Anda memulai unggahan multibagian, Amazon S3 akan menyimpan semua bagian hingga Anda menyelesaikan atau membatalkan unggahan. Sepanjang masa pakainya, Anda akan ditagih untuk semua penyimpanan, bandwidth, dan permintaan untuk unggahan multibagian ini dan bagian terkaitnya. Jika Anda membatalkan unggahan multibagian, Amazon S3 menghapus artefak unggahan dan bagian apa pun yang telah Anda unggah, dan Anda tidak lagi ditagih untuk itu. Tidak ada biaya penghapusan awal untuk menghapus unggahan multibagian yang tidak lengkap, terlepas dari kelas penyimpanan yang ditentukan. Untuk informasi selengkapnya tentang harga, lihat Harga Amazon S3
penting
Jika permintaan upload multipart lengkap tidak berhasil dikirim, bagian objek tidak dirakit dan objek tidak dibuat. Anda akan ditagih untuk semua penyimpanan yang terkait dengan bagian yang diunggah. Penting bagi Anda untuk menyelesaikan unggahan multibagian agar objek dibuat atau membatalkan unggahan multibagian untuk menghapus bagian yang diunggah.
Sebelum dapat menghapus bucket direktori, Anda harus menyelesaikan atau membatalkan semua unggahan multipart yang sedang berlangsung. Bucket direktori tidak mendukung konfigurasi Siklus Hidup S3. Jika perlu, Anda dapat mencantumkan unggahan multibagian aktif, lalu membatalkan unggahan, lalu menghapus bucket.
Operasi dan izin API unggahan multibagian
Untuk mengizinkan akses ke operasi API manajemen objek pada bucket direktori, Anda memberikan s3express:CreateSession
izin dalam kebijakan bucket atau kebijakan berbasis identitas AWS Identity and Access Management
(IAM).
Anda harus memiliki izin yang diperlukan untuk menggunakan operasi pengunggahan multibagian. Anda dapat menggunakan kebijakan bucket atau kebijakan berbasis identitas IAM untuk memberikan izin kepada prinsipal IAM untuk melakukan operasi ini. Tabel berikut mencantumkan izin yang diperlukan untuk berbagai operasi pengunggahan multibagian.
Anda dapat mengidentifikasi inisiator unggahan multipart melalui elemen. Initiator
Jika inisiator adalah Akun AWS, elemen ini memberikan informasi yang sama dengan Owner
elemen. Jika inisiator adalah seorang pengguna IAM, elemen ini akan menyediakan ARN pengguna dan nama tampilan.
Tindakan | Izin yang diperlukan |
---|---|
Membuat unggahan multibagian |
Untuk membuat unggahan multipart, Anda harus diizinkan untuk melakukan |
Memulai unggahan multipart |
Untuk memulai unggahan multipart, Anda harus diizinkan untuk melakukan |
Unggah bagian |
Untuk mengunggah bagian, Anda harus diizinkan untuk melakukan Agar inisiator dapat mengunggah bagian, pemilik bucket harus mengizinkan inisiator untuk melakukan |
Unggah bagian (salin) |
Untuk mengunggah bagian, Anda harus diizinkan untuk melakukan Agar inisiator dapat mengunggah bagian untuk sebuah objek, pemilik bucket harus mengizinkan inisiator untuk melakukan tindakan |
Selesaikan unggahan multibagian |
Untuk menyelesaikan unggahan multibagian, Anda harus diizinkan untuk melakukan Agar inisiator dapat menyelesaikan unggahan multibagian, pemilik bucket harus mengizinkan inisiator untuk melakukan |
Pembatalan sebuah unggahan multipart |
Untuk membatalkan unggahan multibagian, Anda harus diizinkan untuk melakukan tindakan. Agar inisiator membatalkan unggahan multibagian, inisiator harus diberikan akses izin eksplisit untuk melakukan tindakan. |
Daftar bagian |
Untuk mencantumkan bagian-bagian dalam unggahan multibagian, Anda harus diizinkan untuk melakukan |
Membuat daftar unggahan multibagian yang sedang berlangsung |
Untuk membuat daftar unggahan multipart yang sedang berlangsung ke bucket, Anda harus diizinkan melakukan |
Dukungan operasi API untuk unggahan multipart
Bagian berikut dalam Referensi API Amazon Simple Storage Service menjelaskan operasi Amazon S3 REST API untuk unggahan multipart.
Contoh
Untuk menggunakan unggahan multibagian untuk mengunggah objek ke S3 Express One Zone dalam bucket direktori, lihat contoh berikut.
Topik
Membuat unggahan multibagian
catatan
Untuk bucket direktori, saat Anda melakukan CreateMultipartUpload
operasi dan UploadPartCopy
operasi, enkripsi default bucket harus menggunakan konfigurasi enkripsi yang diinginkan, dan header permintaan yang Anda berikan dalam CreateMultipartUpload
permintaan harus sesuai dengan konfigurasi enkripsi default bucket tujuan.
Contoh berikut menunjukkan cara membuat unggahan multipart.
Contoh ini menunjukkan cara membuat unggahan multipart ke bucket direktori dengan menggunakan file. AWS CLI Perintah ini memulai unggahan multipart ke bucket direktori bucket-base-name
-- zone-id
--x-s3 untuk objek. KEY_NAME
Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api create-multipart-upload --bucket
bucket-base-name
--zone-id
--x-s3 --keyKEY_NAME
Untuk informasi selengkapnya, lihat create-multipart-upload
Mengunggah bagian-bagian dari unggahan multipart
Contoh berikut menunjukkan cara mengunggah bagian dari unggahan multipart.
Contoh ini menunjukkan cara memecah satu objek menjadi beberapa bagian dan kemudian mengunggah bagian-bagian tersebut ke bucket direktori dengan menggunakan file AWS CLI. Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api upload-part --bucket
bucket-base-name
--zone-id
--x-s3 --keyKEY_NAME
--part-number1
--bodyLOCAL_FILE_NAME
--upload-id "AS_mgt9RaQE9GEaifATue15dAAAAAAAAAAEMAAAAAAAAADQwNzI4MDU0MjUyMBYAAAAAAAAAAA0AAAAAAAAAAAH2AfYAAAAAAAAEBSD0WBKMAQAAAABneY9yBVsK89iFkvWdQhRCcXohE8RbYtc9QvBOG8tNpA
"
Untuk informasi selengkapnya, lihat bagian unggahan
Menyelesaikan unggahan multibagian
Contoh berikut menunjukkan cara menyelesaikan unggahan multipart.
Contoh ini menunjukkan cara menyelesaikan unggahan multipart untuk bucket direktori dengan menggunakan file. AWS CLI Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api complete-multipart-upload --bucket
bucket-base-name
--zone-id
--x-s3 --keyKEY_NAME
--upload-id "AS_mgt9RaQE9GEaifATue15dAAAAAAAAAAEMAAAAAAAAADQwNzI4MDU0MjUyMBYAAAAAAAAAAA0AAAAAAAAAAAH2AfYAAAAAAAAEBSD0WBKMAQAAAABneY9yBVsK89iFkvWdQhRCcXohE8RbYtc9QvBOG8tNpA
" --multipart-uploadfile://parts.json
Contoh ini mengambil struktur JSON yang menjelaskan bagian-bagian dari upload multipart yang harus dipasang kembali ke dalam file lengkap. Dalam contoh ini, file://
awalan digunakan untuk memuat struktur JSON dari file di folder lokal bernama. parts
parts.json:
parts.json { "Parts": [ { "ETag": "6b78c4a64dd641a58dac8d9258b88147", "PartNumber": 1 } ] }
Untuk informasi selengkapnya, lihat complete-multipart-upload
Membatalkan unggahan multibagian
Contoh berikut menunjukkan cara membatalkan unggahan multipart.
Contoh berikut menunjukkan cara membatalkan upload multipart dengan menggunakan file. AWS CLI Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api abort-multipart-upload --bucket
bucket-base-name
--zone-id
--x-s3 --keyKEY_NAME
--upload-id "AS_mgt9RaQE9GEaifATue15dAAAAAAAAAAEMAAAAAAAAADQwNzI4MDU0MjUyMBYAAAAAAAAAAA0AAAAAAAAAAAH2AfYAAAAAAAAEAX5hFw-MAQAAAAB0OxUFeA7LTbWWFS8WYwhrxDxTIDN-pdEEq_agIHqsbg
"
Untuk informasi selengkapnya, lihat abort-multipart-upload
Membuat operasi salin unggahan multibagian
catatan
Untuk mengenkripsi salinan bagian objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, kunci yang dikelola pelanggan). Kunci yang dikelola AWS(
aws/s3
) tidak didukung. Konfigurasi SSE-KMS Anda hanya dapat mendukung 1 kunci terkelola pelanggan per bucket direktori selama masa pakai bucket. Setelah menentukan kunci terkelola pelanggan untuk SSE-KMS, Anda tidak dapat mengganti kunci terkelola pelanggan untuk konfigurasi SSE-KMS bucket. Anda tidak dapat menentukan setelan enkripsi sisi server untuk salinan bagian objek baru dengan SSE-KMS di header permintaan. UploadPartCopy Selain itu, header permintaan yang Anda berikan dalamCreateMultipartUpload
permintaan harus sesuai dengan konfigurasi enkripsi default bucket tujuan.Kunci Bucket S3 tidak didukung, saat Anda menyalin objek terenkripsi SSE-KMS dari bucket tujuan umum ke bucket direktori, dari bucket direktori ke bucket tujuan umum, atau di antara bucket direktori, hingga UploadPartCopy. Dalam hal ini, Amazon S3 melakukan panggilan ke AWS KMS setiap kali permintaan salinan dibuat untuk objek yang dienkripsi KMS.
Contoh berikut menunjukkan cara menyalin objek dari satu bucket ke bucket lainnya menggunakan unggahan multipart.
Contoh berikut menunjukkan cara menggunakan unggahan multibagian untuk menyalin objek secara terprogram dari satu bucket ke bucket direktori menggunakan file. AWS CLI Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api upload-part-copy --bucket
bucket-base-name
--zone-id
--x-s3 --keyTARGET_KEY_NAME
--copy-sourceSOURCE_BUCKET_NAME/SOURCE_KEY_NAME
--part-number1
--upload-id "AS_mgt9RaQE9GEaifATue15dAAAAAAAAAAEMAAAAAAAAADQwNzI4MDU0MjUyMBYAAAAAAAAAAA0AAAAAAAAAAAH2AfYAAAAAAAAEBnJ4cxKMAQAAAABiNXpOFVZJ1tZcKWib9YKE1C565_hCkDJ_4AfCap2svg
"
Untuk informasi selengkapnya, lihat upload-part-copy
Daftar unggahan multipart yang sedang berlangsung
Untuk mencantumkan unggahan multibagian yang sedang berlangsung ke bucket direktori, Anda dapat menggunakan file AWS SDKs, atau file. AWS CLI
Contoh berikut menunjukkan cara membuat daftar unggahan multipart yang sedang berlangsung (tidak lengkap) dengan menggunakan. AWS CLI Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api list-multipart-uploads --bucket
bucket-base-name
--zone-id
--x-s3
Untuk informasi selengkapnya, lihat list-multipart-uploads
Cantumkan bagian-bagian dari unggahan multipart
Contoh berikut menunjukkan cara membuat daftar bagian dari unggahan multipart ke bucket direktori.
Contoh berikut menunjukkan cara membuat daftar bagian dari unggahan multipart ke bucket direktori dengan menggunakan. AWS CLI Untuk menggunakan perintah ganti user input placeholders
dengan informasi Anda sendiri.
aws s3api list-parts --bucket
--key
bucket-base-name
--zone-id
--x-s3KEY_NAME
--upload-id "AS_mgt9RaQE9GEaifATue15dAAAAAAAAAAEMAAAAAAAAADQwNzI4MDU0MjUyMBYAAAAAAAAAAA0AAAAAAAAAAAH2AfYAAAAAAAAEBSD0WBKMAQAAAABneY9yBVsK89iFkvWdQhRCcXohE8RbYtc9QvBOG8tNpA
"
Untuk informasi selengkapnya, lihat bagian daftar