Jump to Content

This API Documentation is now deprecated

We are excited to announce our new API Documentation.

Class UploadArchiveCommandProtected

This operation adds an archive to a vault. This is a synchronous operation, and for a successful upload, your data is durably persisted. Amazon S3 Glacier returns the archive ID in the x-amz-archive-id header of the response.

     <p>You must use the archive ID to access your data in Amazon S3 Glacier. After you upload
an archive, you should save the archive ID returned so that you can retrieve or delete the
archive later. Besides saving the archive ID, you can also index it and give it a friendly
name to allow for better searching. You can also use the optional archive description field
to specify how the archive is referred to in an external index of archives, such as you
might create in Amazon DynamoDB. You can also get the vault inventory to obtain a list of
archive IDs in a vault. For more information, see <a>InitiateJob</a>. </p>

<p>You must provide a SHA256 tree hash of the data you are uploading. For information
about computing a SHA256 tree hash, see <a href="https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html">Computing Checksums</a>. </p>

<p>You can optionally specify an archive description of up to 1,024 printable ASCII
characters. You can get the archive description when you either retrieve the archive or get
the vault inventory. For more information, see <a>InitiateJob</a>. Amazon
Glacier does not interpret the description in any way. An archive description does not need
to be unique. You cannot use the description to retrieve or sort the archive list. </p>

<p>Archives are immutable. After you upload an archive, you cannot edit the archive or
its description.</p>

<p>An AWS account has full permission to perform all operations (actions). However, AWS
Identity and Access Management (IAM) users don't have any permissions by default. You must
grant them explicit permission to perform specific actions. For more information, see
<a href="https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html">Access Control Using
AWS Identity and Access Management (IAM)</a>.</p>
<p> For conceptual information and underlying REST API, see <a href="https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-an-archive.html">Uploading an Archive in Amazon
Glacier</a> and <a href="https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html">Upload Archive</a> in the
<i>Amazon Glacier Developer Guide</i>. </p>

Example

Use a bare-bones client and the command you need to make an API call.

import { GlacierClient, UploadArchiveCommand } from "@aws-sdk/client-glacier"; // ES Modules import
// const { GlacierClient, UploadArchiveCommand } = require("@aws-sdk/client-glacier"); // CommonJS import
const client = new GlacierClient(config);
const input = { // UploadArchiveInput
vaultName: "STRING_VALUE", // required
accountId: "STRING_VALUE", // required
archiveDescription: "STRING_VALUE",
checksum: "STRING_VALUE",
body: "STREAMING_BLOB_VALUE",
};
const command = new UploadArchiveCommand(input);
const response = await client.send(command);
// { // ArchiveCreationOutput
// location: "STRING_VALUE",
// checksum: "STRING_VALUE",
// archiveId: "STRING_VALUE",
// };

Param

UploadArchiveCommandInput

Returns

UploadArchiveCommandOutput

See

Throws

InvalidParameterValueException (client fault)

Returned if a parameter of the request is incorrectly specified.

Throws

MissingParameterValueException (client fault)

Returned if a required header or parameter is missing from the request.

Throws

RequestTimeoutException (client fault)

Returned if, when uploading an archive, Amazon S3 Glacier times out while receiving the upload.

Throws

ResourceNotFoundException (client fault)

Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.

Throws

ServiceUnavailableException (server fault)

Returned if the service cannot complete the request.

Throws

GlacierServiceException

Base exception class for all service exceptions from Glacier service.

Example

To upload an archive

// The example adds an archive to a vault.
const input = {
"accountId": "-",
"archiveDescription": "",
"body": "example-data-to-upload",
"checksum": "",
"vaultName": "my-vault"
};
const command = new UploadArchiveCommand(input);
const response = await client.send(command);
/* response ==
{
"archiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw",
"checksum": "969fb39823836d81f0cc028195fcdbcbbe76cdde932d4646fa7de5f21e18aa67",
"location": "/0123456789012/vaults/my-vault/archives/kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw"
}
*/
// example id: upload-archive-1481668510494

Hierarchy

Constructors

Properties

Methods

Constructors

Properties

Methods