Questa pagina è riservata ai clienti esistenti del servizio Amazon Glacier che utilizzano Vaults e l'API REST originale del 2012.
Se stai cercando soluzioni di archiviazione, ti consigliamo di utilizzare le classi di storage Amazon Glacier in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Per ulteriori informazioni su queste opzioni di storage, consulta le classi di storage di Amazon Glacier.
Amazon Glacier (servizio autonomo originale basato su vault) non accetterà più nuovi clienti a partire dal 15 dicembre 2025, senza alcun impatto sui clienti esistenti. Amazon Glacier è un servizio APIs autonomo che archivia i dati in vault ed è distinto dalle classi di storage Amazon S3 e Amazon S3 Glacier. I dati esistenti rimarranno sicuri e accessibili in Amazon Glacier a tempo indeterminato. Non è richiesta alcuna migrazione. Per uno storage di archiviazione a lungo termine a basso costo, AWS consiglia le classi di storage Amazon S3 Glacier, che offrono un'esperienza cliente superiore con disponibilità Regione AWS completa, costi inferiori e integrazione dei servizi APIs basata su bucket S3. AWS Se desideri funzionalità avanzate, prendi in considerazione la migrazione alle classi di storage Amazon S3 Glacier utilizzando la AWS nostra Solutions Guidance per il trasferimento di dati dai vault Amazon Glacier alle classi di storage Amazon S3 Glacier.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo UploadMultipartPart con un AWS SDK o una CLI
Gli esempi di codice seguenti mostrano come utilizzare UploadMultipartPart.
- CLI
-
- AWS CLI
-
Il comando seguente carica la prima parte da 1 MiB (1024 x 1024 byte) di un archivio:
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 richiede un argomento ID account durante l'esecuzione delle operazioni, ma puoi utilizzare un trattino per specificare l'account in uso.
Il parametro body indica il percorso di un file delle parti sul filesystem locale. Il parametro range utilizza un intervallo di contenuti HTTP che indica i byte occupati dalla parte nell'archivio completato. L'ID di caricamento viene restituito dal comando aws glacier initiate-multipart-upload e può essere ottenuto anche utilizzando aws glacier list-multipart-uploads.
Per ulteriori informazioni sui caricamenti multiparte su Amazon Glacier tramite l'interfaccia a riga di comando, consulta Using Amazon Glacier AWS nella CLI User Guide.AWS
- JavaScript
-
- SDK per JavaScript (v2)
-
Creazione di un caricamento in più parti di blocchi da 1 megabyte di un oggetto 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);
}
});
});
}
});
Per un elenco completo delle guide per sviluppatori AWS SDK e degli esempi di codice, consultaUtilizzo di Amazon Glacier con un SDK AWS. Questo argomento include anche informazioni su come iniziare e dettagli sulle versioni precedenti dell'SDK.