Menyelesaikan Unggahan Multipart (POST uploadID) - Amazon S3 Glacier

Jika Anda baru mengenal penyimpanan arsip di Amazon Simple Storage Service (Amazon S3), kami sarankan Anda memulai dengan mempelajari lebih lanjut tentang kelas penyimpanan S3 Glacier di Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, dan S3 Glacier Deep Archive. Untuk informasi selengkapnya, lihat Kelas penyimpanan S3 Glacier dan kelas Penyimpanan untuk mengarsipkan objek di Panduan Pengguna Amazon S3.

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

Menyelesaikan Unggahan Multipart (POST uploadID)

Deskripsi

Anda memanggil operasi unggahan multipart ini untuk memberi tahu Amazon S3 Glacier (S3 Glacier) bahwa semua bagian arsip telah diunggah dan S3 Glacier sekarang dapat menyusun arsip dari bagian yang diunggah.

Untuk informasi tentang unggahan multipart, lihat Mengunggah Arsip Besar dalam Beberapa Bagian (Unggahan Multipart).

Setelah menyusun dan menyimpan arsip ke vault, S3 Glacier mengembalikan ID arsip dari sumber daya arsip yang baru dibuat. Setelah mengunggah arsip, Anda harus menyimpan ID arsip yang dikembalikan untuk mengambil arsip di titik berikutnya.

Dalam permintaan, Anda harus menyertakan hash pohon SHA256 yang dihitung dari seluruh arsip yang telah Anda unggah. Untuk informasi tentang mengomputasi hash pohon SHA256, lihat Checksum Komputasi. Di sisi server, S3 Glacier juga membangun hash pohon SHA256 dari arsip yang disusun. Jika nilai cocok, S3 Glacier menyimpan arsip ke vault; jika tidak, S3 Glacier mengembalikan kesalahan, dan operasi gagal. Operasi Mencantumkan Bagian (GET uploadID) mengembalikan daftar bagian yang diunggah untuk unggahan multipart tertentu. Ini termasuk informasi checksum untuk setiap bagian yang diunggah yang dapat digunakan untuk melakukan debug masalah checksum yang buruk.

Selain itu, S3 Glacier juga memeriksa setiap rentang konten yang hilang. Ketika mengunggah bagian, Anda menentukan nilai kisaran yang mengidentifikasi tempat setiap bagian cocok dalam penyusunan final arsip. Ketika menyusun arsip final, S3 Glacier memeriksa setiap rentang konten yang hilang dan jika ada rentang konten yang hilang, S3 Glacier mengembalikan kesalahan dan operasi Selesaikan Unggahan Multipart gagal.

Selesaikan Unggahan Multipart adalah operasi idempoten. Setelah selesaikan unggahan multipart pertama Anda berhasil, jika Anda memanggil operasi lagi dalam waktu singkat, operasi akan berhasil dan mengembalikan ID arsip yang sama. Hal ini berguna jika Anda mengalami masalah jaringan atau menerima kesalahan server 500, dalam hal ini, Anda dapat mengulangi permintaan Selesaikan Unggahan Multipart dan mendapatkan ID arsip yang sama tanpa membuat arsip duplikat. Namun, perhatikan bahwa setelah unggahan multipart selesai, Anda tidak dapat memanggil operasi Cantumkan Bagian dan unggahan multipart tidak akan muncul dalam respond Cantumkan Unggahan Multipart, bahkan jika idempoten selesai dimungkinkan.

Permintaan

Untuk menyelesaikan unggahan multipart, Anda mengirim permintaan HTTP POST ke URI ID unggah yang S3 Glacier buat sebagai respons atas permintaan Mulai Unggahan Multipart Anda. Ini adalah URI yang sama dengan yang Anda gunakan saat mengunggah bagian. Selain header umum yang diperlukan, Anda harus menyertakan hasil hash pohon SHA256 dari seluruh arsip dan ukuran total arsip dalam byte.

Sintaksis

POST /AccountId/vaults/VaultName/multipart-uploads/uploadID Host: glacier.Region.amazonaws.com Date: date Authorization: SignatureValue x-amz-sha256-tree-hash: SHA256 tree hash of the archive x-amz-archive-size: ArchiveSize in bytes x-amz-glacier-version: 2012-06-01

catatan

Nilai AccountId adalah ID Akun AWS dari akun yang memiliki vault. Anda dapat menentukan ID Akun AWS atau secara opsional satu '-' (tanda hubung), dalam hal ini, Amazon S3 Glacier menggunakan ID Akun AWS yang terkait dengan kredensial yang digunakan untuk menandatangani permintaan. Jika Anda menggunakan ID akun, jangan sertakan tanda hubung ('-') di ID.

Parameter Permintaan

Operasi ini tidak menggunakan parameter permintaan.

Header Permintaan

Operasi ini menggunakan header permintaan berikut, selain header permintaan yang umum untuk semua operasi. Untuk informasi selengkapnya tentang header permintaan umum, lihat Header Permintaan Umum.

Nama Deskripsi Wajib
x-amz-archive-size

Ukuran total, dalam byte, dari seluruh arsip. Nilai ini harus jumlah dari semua ukuran masing-masing bagian yang Anda unggah.

Tipe: String

Default: Tidak ada

Batasan: Tidak Ada

Ya
x-amz-sha256-tree-hash

Hash pohon SHA256 dari seluruh arsip. Ini adalah hash pohon dari hash pohon SHA256 masing-masing bagian. Jika nilai yang Anda tentukan dalam permintaan tidak cocok dengan hash pohon SHA256 dari arsip final yang disusun seperti yang dihitung oleh S3 Glacier, S3 Glacier akan mengembalikan kesalahan dan permintaan gagal.

Tipe: String

Default: Tidak ada

Batasan: Tidak Ada

Ya

Elemen permintaan

Operasi ini tidak menggunakan elemen permintaan.

Respons

Amazon S3 Glacier (S3 Glacier) membuat hash pohon SHA256 dari seluruh arsip. Jika nilainya cocok dengan hash pohon SHA256 dari seluruh arsip yang Anda tentukan dalam permintaan, S3 Glacier menambahkan arsip ke vault. Sebagai respons, ini mengembalikan header Location HTTP dengan jalur URL dari sumber daya arsip yang baru ditambahkan. Jika ukuran arsip atau SHA256 yang Anda kirim dalam permintaan tidak cocok, S3 Glacier akan mengembalikan kesalahan dan unggahan tetap dalam status tidak selesai. Dimungkinkan untuk mencoba lagi operasi Selesaikan Unggahan Multipart nanti dengan nilai yang benar, pada saat mana Anda dapat berhasil membuat arsip. Jika unggahan multipart tidak selesai, akhirnya S3 Glacier akan mengeklaim kembali ID unggah.

Sintaksis

HTTP/1.1 201 Created x-amzn-RequestId: x-amzn-RequestId Date: Date Location: Location x-amz-archive-id: ArchiveId

Header Respons

Respons yang sukses termasuk header respon berikut, selain header respons yang umum untuk semua operasi. Untuk informasi selengkapnya tentang header respons umum, lihat Header Respons Umum.

Nama Deskripsi
Location

Jalur URI relatif dari arsip yang baru dibuat. URL ini mencakup ID arsip yang dibuat oleh S3 Glacier.

Tipe: String

x-amz-archive-id

ID arsip. Nilai ini juga disertakan sebagai bagian dari header Location.

Tipe: String

Bidang Respons

Operasi ini tidak mengembalikan isi respons.

Contoh

Contoh Permintaan

Dalam contoh ini, permintaan HTTP POST dikirim ke URI yang dikembalikan oleh permintaan Mulai Unggahan Multipart. Permintaan menentukan hash pohon SHA256 dari seluruh arsip dan ukuran arsip total.

POST /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com z-amz-Date: 20170210T120000Z x-amz-sha256-tree-hash:1ffc0f54dd5fdd66b62da70d25edacd0 x-amz-archive-size:8388608 x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2

Contoh Respons

Respons contoh berikut menunjukkan S3 Glacier berhasil membuat arsip dari bagian yang Anda unggah. Respons mencakup ID arsip dengan jalur lengkap.

HTTP/1.1 201 Created x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId x-amz-archive-id: NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId

Anda sekarang dapat mengirim permintaan HTTP ke URI dari sumber/arsip yang baru ditambahkan. Misalnya, Anda dapat mengirim permintaan GET untuk mengambil arsip.