Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Úselo UploadMultipartPart
con un o AWS SDK CLI
En los siguientes ejemplos de código se muestra cómo se utiliza UploadMultipartPart
.
- CLI
-
- AWS CLI
-
El siguiente comando carga la primera parte de 1 MiB (1024 x 1024 bytes) de un archivo:
aws glacier upload-multipart-part --body
part1
--range 'bytes 0-1048575/*
'-
-account-id - --vault-namemy-vault
--upload-id19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ
Amazon Glacier requiere un argumento de ID de cuenta al realizar operaciones, pero puede usar un guion para especificar la cuenta en uso.
El parámetro body toma una ruta a un archivo de parte del sistema de archivos local. El parámetro range toma un rango de HTTP contenido que indica los bytes que ocupa la pieza en el archivo completo. El comando
aws glacier initiate-multipart-upload
devuelve el ID de carga y también se puede obtener medianteaws glacier list-multipart-uploads
.Para obtener más información sobre las cargas multiparte a Amazon Glacier mediante el AWS CLI, consulte Uso de Amazon Glacier en la Guía del AWS CLIusuario.
-
Para API obtener más información, consulte la Referencia UploadMultipartPart
de AWS CLI comandos.
-
- JavaScript
-
- SDKpara JavaScript (v2)
-
nota
Hay más información GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS
. Cree una carga multiparte de fragmentos de 1 megabyte de un objeto de búfer.
// 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); } }); }); } });
-
Para obtener información, consulte la Guía para desarrolladores de AWS SDK for JavaScript.
-
Para API obtener más información, consulte UploadMultipartPartla AWS SDK for JavaScript APIReferencia.
-