Ada lebih banyak contoh AWS SDK yang tersedia di repo Contoh SDK AWS Doc
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat unggahan multibagian ke brankas Amazon S3 Glacier menggunakan SDK AWS
Contoh kode berikut menunjukkan cara membuat unggahan multipart ke brankas Amazon S3 Glacier.
- CLI
-
- AWS CLI
-
Perintah berikut mengunggah bagian 1 MiB (1024 x 1024 byte) pertama dari arsip:
aws glacier upload-multipart-part --body part1 --range 'bytes 0-1048575/*' --account-id - --vault-name my-vault --upload-id 19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ
Amazon Glacier memerlukan argumen ID akun saat melakukan operasi, tetapi Anda dapat menggunakan tanda hubung untuk menentukan akun yang sedang digunakan.
Parameter body mengambil jalur ke file bagian pada sistem file lokal. Parameter rentang mengambil rentang konten HTTP yang menunjukkan byte yang ditempati bagian dalam arsip lengkap. ID unggahan dikembalikan oleh
aws glacier initiate-multipart-upload
perintah dan juga dapat diperoleh dengan menggunakanaws glacier list-multipart-uploads
.Untuk informasi selengkapnya tentang unggahan multipart ke Amazon Glacier menggunakan CLI, lihat Menggunakan Amazon Glacier AWS di Panduan Pengguna CLI. AWS
-
Untuk detail API, lihat UploadMultipartPart
di Referensi AWS CLI Perintah.
-
- JavaScript
-
- SDK untuk JavaScript (v2)
-
catatan
Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS
. Buat unggahan multipart dari potongan 1 megabyte dari objek Buffer.
// Create a new service object and some supporting variables var glacier = new AWS.Glacier({ apiVersion: "2012-06-01" }), vaultName = "YOUR_VAULT_NAME", buffer = new Buffer(2.5 * 1024 * 1024), // 2.5MB buffer partSize = 1024 * 1024, // 1MB chunks, numPartsLeft = Math.ceil(buffer.length / partSize), startTime = new Date(), params = { vaultName: vaultName, partSize: partSize.toString() }; // Compute the complete SHA-256 tree hash so we can pass it // to completeMultipartUpload request at the end var treeHash = glacier.computeChecksums(buffer).treeHash; // Initiate the multipart upload console.log("Initiating upload to", vaultName); // Call Glacier to initiate the upload. glacier.initiateMultipartUpload(params, function (mpErr, multipart) { if (mpErr) { console.log("Error!", mpErr.stack); return; } console.log("Got upload ID", multipart.uploadId); // Grab each partSize chunk and upload it as a part for (var i = 0; i < buffer.length; i += partSize) { var end = Math.min(i + partSize, buffer.length), partParams = { vaultName: vaultName, uploadId: multipart.uploadId, range: "bytes " + i + "-" + (end - 1) + "/*", body: buffer.slice(i, end), }; // Send a single part console.log("Uploading part", i, "=", partParams.range); glacier.uploadMultipartPart(partParams, function (multiErr, mData) { if (multiErr) return; console.log("Completed part", this.request.params.range); if (--numPartsLeft > 0) return; // complete only when all parts uploaded var doneParams = { vaultName: vaultName, uploadId: multipart.uploadId, archiveSize: buffer.length.toString(), checksum: treeHash, // the computed tree hash }; console.log("Completing upload..."); glacier.completeMultipartUpload(doneParams, function (err, data) { if (err) { console.log("An error occurred while uploading the archive"); console.log(err); } else { var delta = (new Date() - startTime) / 1000; console.log("Completed upload in", delta, "seconds"); console.log("Archive ID:", data.archiveId); console.log("Checksum: ", data.checksum); } }); }); } });
-
Untuk informasi selengkapnya, silakan lihat Panduan Developer AWS SDK for JavaScript.
-
Untuk detail API, lihat UploadMultipartPartdi Referensi AWS SDK for JavaScript API.
-