Mendapatkan Output Tugas (GET output) - Amazon S3 Glacier

Halaman ini hanya untuk pelanggan lama dari layanan S3 Glacier menggunakan Vaults dan asli dari 2012. REST API

Jika Anda mencari solusi penyimpanan arsip, kami sarankan untuk menggunakan kelas penyimpanan S3 Glacier di Amazon S3, Pengambilan Instan Gletser S3, Pengambilan Fleksibel Gletser S3, dan S3 Glacier Deep Archive. Untuk mempelajari lebih lanjut tentang opsi penyimpanan ini, lihat Kelas penyimpanan S3 Glacier dan Penyimpanan data jangka panjang menggunakan kelas penyimpanan S3 Glacier di Panduan Pengguna Amazon S3. Kelas penyimpanan ini menggunakan Amazon S3API, tersedia di semua wilayah, dan dapat dikelola dalam konsol Amazon S3. Mereka menawarkan fitur seperti Analisis Biaya Penyimpanan, Lensa Penyimpanan, fitur enkripsi opsional canggih, dan banyak lagi.

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

Mendapatkan Output Tugas (GET output)

Deskripsi

Operas ini mengunduh output tugas yang Anda mulai menggunakan Initiate Job (POSTjobs). Bergantung pada tipe tugas yang Anda tentukan ketika memulai tugas, output akan berupa isi arsip atau inventaris vault.

Anda dapat mengunduh semua output tugas atau mengunduh bagian output dengan menentukan rentang byte. Untuk tugas pengambilan arsip dan tugas, Anda harus memverifikasi ukuran yang diunguh terhadap ukuran yang dikembalikan dalam header dari respons Dapatkan Output Tugas.

Untuk tugas pengambilan arsip, Anda juga harus memastikan bahwa ukurannya sesuai dengan harapan Anda. Jika Anda mengunduh bagian output, ukuran yang diharapkan didasarkan pada rentang byte yang Anda tentukan. Sebagai contoh, jika Anda menentukan berbagai bytes=0-1048575, Anda harus memastikan ukuran unduhan Anda adalah 1.048,576 byte. Jika Anda mengunduh seluruh arsip, ukuran yang diharapkan adalah ukuran arsip saat Anda mengunggahnya ke Amazon S3 Glacier (S3 Glacier). Ukuran yang diharapkan juga dikembalikan dalam header dari respons Dapatkan Output Tugas.

Dalam hal tugas pengambilan arsip, bergantung pada rentang byte yang Anda tentukan, S3 Glacier mengembalikan checksum untuk bagian data. Untuk memastikan bagian yang Anda unduh adalah data yang benar, hitung checksum pada klien, pastikan nilai-nilainya cocok, dan pastikan ukuran sesuai dengan harapan Anda.

ID tugas tidak kedaluwarsa selama setidaknya selama 24 jam setelah S3 Glacier menyelesaikan tugas. Artinya, Anda dapat mengunduh output tugas dalam periode 24 jam setelah S3 Glacier menyelesaikan tugas.

Permintaan

Sintaksis

Untuk mengambil output tugas, Anda mengirim permintaan GET HTTP ke URI output dari tugas tertentu.

GET /AccountId/vaults/VaultName/jobs/JobID/output HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Range: ByteRangeToRetrieve 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
Range

Rentang byte yang diambil dari output. Sebagai contoh, jika Anda ingin mengunduh byte 1.048,576 pertama, tentukan rentang sebagai bytes=0-1048575. Untuk informasi selengkapnya, buka Definisi Bidang Header Rentang. Rentang ini terkait dengan rentang yang ditentukan dalam permintaan Mulai Tugas. Secara default, operasi ini akan mengunduh seluruh output.

Jika output tugasnya besar, Anda dapat menggunakan header permintaan Range untuk mengambil sebagian dari output. Anda dapat mengunduh seluruh output dalam potongan byte yang lebih kecil. Misalnya, Anda memiliki output tugas sebesar 1 GB yang ingin Anda unduh dan Anda memutuskan untuk mengunduh potongan data sebesar 128 MB pada suatu waktu, total delapan permintaan Dapatkan Output Tugas. Anda akan menggunakan proses berikut untuk mengunduh output tugas:

  1. Unduh potongan output sebesar 128 MB dengan menentukan rentang byte yang sesuai menggunakan header Range. Verifikasi semua 128 MB data diterima.

  2. Bersama dengan data, respons akan mencakup checksum dari muatan. Anda menghitung checksum muatan pada klien dan membandingkannya dengan checksum yang Anda terima sebagai respons untuk memastikan Anda menerima semua data yang diharapkan.

  3. Ulangi langkah 1 dan 2 untuk kedelapan potongan data output sebesar 128 MB, setiap kali menentukan rentang byte yang sesuai.

  4. Setelah mengunduh semua bagian dari output tugas, Anda memiliki daftar delapan nilai checksum. Hitung hash pohon dari nilai-nilai ini untuk menemukan checksum dari seluruh output. Menggunakan operasi Mendeskripsikan Tugas (GET JobID), dapatkan informasi tugas dari tugas yang memberi Anda output. Respons meliputi checksum dari seluruh arsip yang disimpan di S3 Glacier. Anda membandingkan nilai ini dengan checksum yang Anda hitung untuk memastikan Anda sudah mengunduh seluruh konten arsip tanpa kesalahan.

Tipe: String

Default: Tidak ada

Batasan: Tidak Ada

Tidak

Isi Permintaan

Operasi ini tidak memiliki isi permintaan.

Respons

Sintaksis

Untuk permintaan pengambilan yang mengembalikan semua data tugas, respons output tugas mengembalikan kode respons 200 OK. Ketika konten parsial diminta, misalnya, jika Anda menentukan header Range dalam permintaan, kode respons206 Partial Content dikembalikan.

HTTP/1.1 200 OK x-amzn-RequestId: x-amzn-RequestId Date: Date Content-Type: ContentType Content-Length: Length x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier [Body containing job output.]

Header Respons

Header Deskripsi
Content-Range

Rentang byte dikembalikan oleh S3 Glacier. Jika hanya output parsial yang diunduh, respons menyediakan berbagai byte S3 Glacier yang dikembalikan.

Misalnya, bytes 0-1048575/8388608 mengembalikan 1 MB pertama dari 8 MB.

Untuk informasi selengkapnya tentang header Content-Range, buka Definisi Bidang Header Content-Range.

Tipe: String

Content-Type

Content-Type bergantung pada apakah output tugas adalah arsip atau inventaris vault.

  • Untuk data arsip, Content-Type adalah application/octet-stream.

  • Untuk inventaris vault, jika Anda meminta format CSV saat memulai tugas, Content-Type adalah text/csv. Jika tidak, secara default, inventaris vault dikembalikan sebagai JSON, dan Content-Type adalah application/json.

Tipe: String

x-amz-sha256-tree-hash

Checksum data dalam respons. Header ini dikembalikan hanya ketika mengambil output untuk tugas pengambilan arsip. Selanjutnya, header ini muncul ketika berbagai data yang diambil yang diminta dalam permintaan Mulai Tugas adalah hash pohon selaras dan rentang yang diunduh di Dapatkan Output Tugas juga merupakan hash pohon selaras. Untuk informasi selengkapnya tentang rentang hash pohon selaras, lihat Menerima Checksum Saat Mengunduh Data.

Misalnya, jika dalam permintaan Mulai Tugas, Anda menentukan rentang hash pohon selaras yang diambil (yang mencakup seluruh arsip), Anda akan menerima checksum dari data yang Anda unduh berdasarkan kondisi berikut:

  • Anda mendapatkan seluruh rentang data yang diambil.

  • Anda meminta rentang byte dari data yang diambil yang berukuran megabyte (1024 KB) yang dikalikan dengan pangkat 2 serta yang dimulai dan berakhir di beberapa ukuran rentang yang diminta. Sebagai contoh, jika Anda memiliki 3,1 MB data yang diambil dan Anda menentukan rentang untuk dikembalikan yang dimulai pada 1 MB dan berakhir pada 2 MB, x-amz-sha256-tree-hash dikembalikan sebagai header respons.

  • Anda meminta rentang untuk mengembalikan data yang diambil yang mengarah ke bagian akhir data, dan awal rentang adalah kelipatan dari ukuran rentang yang diambil yang dibulatkan ke pangkat dua berikutnya, tetapi tidak lebih kecil dari satu megabyte (1024 KB). Sebagai contoh, jika Anda memiliki 3,1 MB data yang diambil dan Anda menentukan rentang yang dimulai pada 2 MB dan berakhir pada 3,1 MB (akhir data), x-amz-sha256-tree-hash dikembalikan sebagai header respons.

Tipe: String

Isi Respons

S3 Glacier mengembalikan output tugas dalam isi respons. Bergantung pada tipe tugas, output dapat berupa isi arsip atau inventaris vault. Dalam kasus inventaris vault, secara default daftar inventaris dikembalikan sebagai isi JSON berikut.

{ "VaultARN": String, "InventoryDate": String, "ArchiveList": [ {"ArchiveId": String, "ArchiveDescription": String, "CreationDate": String, "Size": Number, "SHA256TreeHash": String }, ... ] }

Jika Anda meminta format output nilai yang dipisahkan koma (CSV) saat Anda memulai tugas inventaris vault, inventaris vault dikembalikan dalam format CSV di isinya. Format CSV memiliki lima kolomArchiveId “,ArchiveDescription “”,CreationDate “Size”, dan “SHA256TreeHash” dengan definisi yang sama dengan bidang JSON yang sesuai.

catatan

Dalam format CSV yang dikembalikan, bidang dapat dikembalikan dengan seluruh bidang tertutup dalam tanda kutip ganda. Bidang yang berisi koma atau tanda kutip ganda selalu dikembalikan tertutup dalam tanda kutip ganda. Misalnya, my archive description,1 dikembalikan sebagai "my archive description,1". Karakter kutip ganda yang berada dalam bidang tertutup kutip ganda yang dikembalikan adalah escaped dengan mendahuluinya dengan karakter garis miring terbalik. Misalnya, my archive description,1"2 dikembalikan sebagai "my archive description,1\"2" dan my archive description,1\"2 dikembalikan sebagai "my archive description,1\\"2". Karakter garis miring terbalik bukan karakter escaped.

Isi respons JSON berisi bidang JSON berikut.

ArchiveDescription

Deskripsi arsip.

Tipe: String

ArchiveId

ID arsip.

Tipe: String

ArchiveList

Array metadata arsip. Setiap objek dalam array mewakili metadata untuk satu arsip yang terkandung dalam vault.

Tipe: Array

CreationDate

Tanggal dan waktu UTC saat arsip dibuat.

Tipe: Representasi string dalam format tanggal ISO 8601, misalnya 2013-03-20T17:03:43.221Z.

InventoryDate

Tanggal dan waktu UTC dari inventaris terakhir untuk vault yang diselesaikan setelah perubahan ke vault. Meskipun S3 Glacier menyiapkan inventaris vault sekali sehari, tanggal inventaris hanya diperbarui jika ada penambahan arsip atau penghapusan ke vault sejak inventaris terakhir.

Tipe: Representasi string dalam format tanggal ISO 8601, misalnya 2013-03-20T17:03:43.221Z.

SHA256TreeHash

Hash pohon arsip.

Tipe: String

Ukuran

Ukuran dalam byte dari arsip.

Tipe: Angka

VaultArn

Sumber daya Amazon Resource Name (ARN) asal pengambilan arsip diminta.

Tipe: String

Kesalahan

Untuk informasi tentang pengecualian dan pesan kesalahan Amazon S3 Glacier, lihat Respons Kesalahan.

Contoh

Contoh berikut menunjukkan permintaan untuk tugas yang mengambil arsip.

Contoh 1: Mengunduh output

Contoh ini mengambil data yang disiapkan oleh S3 Glacier sebagai respons atas permintaan mulai tugas pengambilan arsip Anda.

Contoh Permintaan

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z 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

Berikut adalah contoh respons dari tugas pengambilan arsip. Perhatikan bahwa header Content-Type adalah application/octet-stream dan header x-amz-sha256-tree-hash disertakan dalam respons, yang berarti semua data tugas dikembalikan.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60 Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/octet-stream Content-Length: 1048576 [Archive data.]

Berikut adalah contoh respons dari tugas pengambilan inventaris. Perhatikan bahwa header Content-Type adalah application/json. Perhatikan juga bahwa respons tidak termasuk header x-amz-sha256-tree-hash.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/json Content-Length: 906 { "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault", "InventoryDate": "2011-12-12T14:19:01Z", "ArchiveList": [ { "ArchiveId": "DMTmICA2n5Tdqq5BV2z7og-A20xnpAPKt3UXwWxdWsn_D6auTUrW6kwy5Qyj9xd1MCE1mBYvMQ63LWaT8yTMzMaCxB_9VBWrW4Jw4zsvg5kehAPDVKcppUD1X7b24JukOr4mMAq-oA", "ArchiveDescription": "my archive1", "CreationDate": "2012-05-15T17:19:46.700Z", "Size": 2140123, "SHA256TreeHash": "6b9d4cf8697bd3af6aa1b590a0b27b337da5b18988dbcc619a3e608a554a1e62" }, { "ArchiveId": "2lHzwhKhgF2JHyvCS-ZRuF08IQLuyB4265Hs3AXj9MoAIhz7tbXAvcFeHusgU_hViO1WeCBe0N5lsYYHRyZ7rrmRkNRuYrXUs_sjl2K8ume_7mKO_0i7C-uHE1oHqaW9d37pabXrSA", "ArchiveDescription": "my archive2", "CreationDate": "2012-05-15T17:21:39.339Z", "Size": 2140123, "SHA256TreeHash": "7f2fe580edb35154041fa3d4b41dd6d3adaef0c85d2ff6309f1d4b520eeecda3" } ] }

Contoh 2: Menguduh hanya sebagian output

Contoh ini hanya mengambil sebagian arsip yang disiapkan oleh S3 Glacier sebagai respons atas permintaan mulai tugas pengambilan arsip Anda. Permintaan menggunakan header Range opsional untuk hanya mengambil 1.024 byte pertama.

Contoh Permintaan

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Range: bytes=0-1023 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 yang berhasil berikut menunjukkan respons 206 Partial Content. Dalam hal ini, respons juga menyertakan header Content-Range yang menentukan rentang byte S3 Glacier yang dikembalikan.

HTTP/1.1 206 Partial Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range: bytes 0-1023/8388608 Content-Type: application/octet-stream Content-Length: 1024 [Archive data.]