Class: AWS.Glacier
- Inherits:
-
AWS.Service
- Object
- AWS.Service
- AWS.Glacier
- Identifier:
- glacier
- API Version:
- 2012-06-01
- Defined in:
- (unknown)
Overview
Constructs a service interface object. Each API operation is exposed as a function on service.
Service Description
Amazon S3 Glacier (Glacier) is a storage solution for "cold data."
Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Glacier, customers can store their data cost effectively for months, years, or decades. Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations.
Glacier is a great storage choice when low storage cost is paramount and your data is rarely retrieved. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, see Amazon Simple Storage Service (Amazon S3).
You can store any kind of data in any format. There is no maximum limit on the total amount of data you can store in Glacier.
If you are a first-time user of Glacier, we recommend that you begin by reading the following sections in the Amazon S3 Glacier Developer Guide:
-
What is Amazon S3 Glacier - This section of the Developer Guide describes the underlying data model, the operations it supports, and the AWS SDKs that you can use to interact with the service.
-
Getting Started with Amazon S3 Glacier - The Getting Started section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives.
Sending a Request Using Glacier
var glacier = new AWS.Glacier();
glacier.abortMultipartUpload(params, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
Locking the API Version
In order to ensure that the Glacier object uses this specific API, you can
construct the object by passing the apiVersion option to the constructor:
var glacier = new AWS.Glacier({apiVersion: '2012-06-01'});
You can also set the API version globally in AWS.config.apiVersions using
the glacier service identifier:
AWS.config.apiVersions = {
glacier: '2012-06-01',
// other service API versions
};
var glacier = new AWS.Glacier();
Waiter Resource States
This service supports a list of resource states that can be polled using the waitFor() method. The resource states are:
Constructor Summary collapse
-
new AWS.Glacier(options = {}) ⇒ Object
constructor
Constructs a service object.
Property Summary collapse
-
endpoint ⇒ AWS.Endpoint
readwrite
An Endpoint object representing the endpoint URL for service requests.
Properties inherited from AWS.Service
Computing Checksums collapse
-
computeChecksums(data) ⇒ map<linearHash:String,treeHash:String>
Computes the SHA-256 linear and tree hash checksums for a given block of Buffer data.
Method Summary collapse
-
abortMultipartUpload(params = {}, callback) ⇒ AWS.Request
This operation aborts a multipart upload identified by the upload ID.
After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload.
-
abortVaultLock(params = {}, callback) ⇒ AWS.Request
This operation aborts the vault locking process if the vault lock is not in the
Lockedstate. -
addTagsToVault(params = {}, callback) ⇒ AWS.Request
This operation adds the specified tags to a vault.
-
completeMultipartUpload(params = {}, callback) ⇒ AWS.Request
You call this operation to inform Amazon S3 Glacier (Glacier) that all the archive parts have been uploaded and that Glacier can now assemble the archive from the uploaded parts.
-
completeVaultLock(params = {}, callback) ⇒ AWS.Request
This operation completes the vault locking process by transitioning the vault lock from the
InProgressstate to theLockedstate, which causes the vault lock policy to become unchangeable. -
createVault(params = {}, callback) ⇒ AWS.Request
This operation creates a new vault with the specified name.
-
deleteArchive(params = {}, callback) ⇒ AWS.Request
This operation deletes an archive from a vault.
-
deleteVault(params = {}, callback) ⇒ AWS.Request
This operation deletes a vault.
-
deleteVaultAccessPolicy(params = {}, callback) ⇒ AWS.Request
This operation deletes the access policy associated with the specified vault.
-
deleteVaultNotifications(params = {}, callback) ⇒ AWS.Request
This operation deletes the notification configuration set for a vault.
-
describeJob(params = {}, callback) ⇒ AWS.Request
This operation returns information about a job you previously initiated, including the job initiation date, the user who initiated the job, the job status code/message and the Amazon SNS topic to notify after Amazon S3 Glacier (Glacier) completes the job.
-
describeVault(params = {}, callback) ⇒ AWS.Request
This operation returns information about a vault, including the vault's Amazon Resource Name (ARN), the date the vault was created, the number of archives it contains, and the total size of all the archives in the vault.
-
getDataRetrievalPolicy(params = {}, callback) ⇒ AWS.Request
This operation returns the current data retrieval policy for the account and region specified in the GET request.
-
getJobOutput(params = {}, callback) ⇒ AWS.Request
This operation downloads the output of the job you initiated using InitiateJob.
-
getVaultAccessPolicy(params = {}, callback) ⇒ AWS.Request
This operation retrieves the
access-policysubresource set on the vault; for more information on setting this subresource, see Set Vault Access Policy (PUT access-policy). -
getVaultLock(params = {}, callback) ⇒ AWS.Request
This operation retrieves the following attributes from the
lock-policysubresource set on the specified vault:-
The vault lock policy set on the vault.
-
The state of the vault lock, which is either
InProgessorLocked. -
When the lock ID expires.
-
-
getVaultNotifications(params = {}, callback) ⇒ AWS.Request
This operation retrieves the
notification-configurationsubresource of the specified vault.For information about setting a notification configuration on a vault, see SetVaultNotifications.
-
initiateJob(params = {}, callback) ⇒ AWS.Request
This operation initiates a job of the specified type, which can be a select, an archival retrieval, or a vault retrieval.
-
initiateMultipartUpload(params = {}, callback) ⇒ AWS.Request
This operation initiates a multipart upload.
-
initiateVaultLock(params = {}, callback) ⇒ AWS.Request
This operation initiates the vault locking process by doing the following:
-
Installing a vault lock policy on the specified vault.
-
Setting the lock state of vault lock to
InProgress. -
Returning a lock ID, which is used to complete the vault locking process.
You can set one vault lock policy for each vault and this policy can be up to 20 KB in size.
-
-
listJobs(params = {}, callback) ⇒ AWS.Request
This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished.
-
listMultipartUploads(params = {}, callback) ⇒ AWS.Request
This operation lists in-progress multipart uploads for the specified vault.
-
listParts(params = {}, callback) ⇒ AWS.Request
This operation lists the parts of an archive that have been uploaded in a specific multipart upload.
-
listProvisionedCapacity(params = {}, callback) ⇒ AWS.Request
This operation lists the provisioned capacity units for the specified AWS account.
.
-
listTagsForVault(params = {}, callback) ⇒ AWS.Request
This operation lists all the tags attached to a vault.
-
listVaults(params = {}, callback) ⇒ AWS.Request
This operation lists all vaults owned by the calling user's account.
-
purchaseProvisionedCapacity(params = {}, callback) ⇒ AWS.Request
This operation purchases a provisioned capacity unit for an AWS account.
-
removeTagsFromVault(params = {}, callback) ⇒ AWS.Request
This operation removes one or more tags from the set of tags attached to a vault.
-
setDataRetrievalPolicy(params = {}, callback) ⇒ AWS.Request
This operation sets and then enacts a data retrieval policy in the region specified in the PUT request.
-
setVaultAccessPolicy(params = {}, callback) ⇒ AWS.Request
This operation configures an access policy for a vault and will overwrite an existing policy.
-
setVaultNotifications(params = {}, callback) ⇒ AWS.Request
This operation configures notifications that will be sent when specific events happen to a vault.
-
uploadArchive(params = {}, callback) ⇒ AWS.Request
This operation adds an archive to a vault.
-
uploadMultipartPart(params = {}, callback) ⇒ AWS.Request
This operation uploads a part of an archive.
-
waitFor(state, params = {}, callback) ⇒ AWS.Request
Waits for a given Glacier resource.
Methods inherited from AWS.Service
makeRequest, makeUnauthenticatedRequest, defineService
Constructor Details
new AWS.Glacier(options = {}) ⇒ Object
Constructs a service object. This object has one method for each API operation.
Property Details
Method Details
abortMultipartUpload(params = {}, callback) ⇒ AWS.Request
This operation aborts a multipart upload identified by the upload ID.
After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload. Aborting a completed upload fails. However, aborting an already-aborted upload will succeed, for a short time. For more information about uploading a part and completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload.
This operation is idempotent.
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 Access Control Using AWS Identity and Access Management (IAM).
For conceptual information and underlying REST API, see Working with Archives in Amazon S3 Glacier and Abort Multipart Upload in the Amazon Glacier Developer Guide.
abortVaultLock(params = {}, callback) ⇒ AWS.Request
This operation aborts the vault locking process if the vault lock is not in the Locked state. If the vault lock is in the Locked state when this operation is requested, the operation returns an AccessDeniedException error. Aborting the vault locking process removes the vault lock policy from the specified vault.
A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can get the state of a vault lock by calling GetVaultLock. For more information about the vault locking process, see Amazon Glacier Vault Lock. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.
This operation is idempotent. You can successfully invoke this operation multiple times, if the vault lock is in the InProgress state or if there is no policy associated with the vault.
addTagsToVault(params = {}, callback) ⇒ AWS.Request
This operation adds the specified tags to a vault. Each tag is composed of a key and a value. Each vault can have up to 10 tags. If your request would cause the tag limit for the vault to be exceeded, the operation throws the LimitExceededException error. If a tag already exists on the vault under a specified key, the existing key value will be overwritten. For more information about tags, see Tagging Amazon S3 Glacier Resources.
completeMultipartUpload(params = {}, callback) ⇒ AWS.Request
You call this operation to inform Amazon S3 Glacier (Glacier) that all the archive parts have been uploaded and that Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Glacier returns the URI path of the newly created archive resource. Using the URI path, you can then access the archive. After you upload an archive, you should save the archive ID returned to retrieve the archive at a later point. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.
In the request, you must include the computed SHA256 tree hash of the entire archive you have uploaded. For information about computing a SHA256 tree hash, see Computing Checksums. On the server side, Glacier also constructs the SHA256 tree hash of the assembled archive. If the values match, Glacier saves the archive to the vault; otherwise, it returns an error, and the operation fails. The ListParts operation returns a list of parts uploaded for a specific multipart upload. It includes checksum information for each uploaded part that can be used to debug a bad checksum issue.
Additionally, Glacier also checks for any missing content ranges when assembling the archive, if missing content ranges are found, Glacier returns an error and the operation fails.
Complete Multipart Upload is an idempotent operation. After your first successful complete multipart upload, if you call the operation again within a short period, the operation will succeed and return the same archive ID. This is useful in the event you experience a network issue that causes an aborted connection or receive a 500 server error, in which case you can repeat your Complete Multipart Upload request and get the same archive ID without creating duplicate archives. Note, however, that after the multipart upload completes, you cannot call the List Parts operation and the multipart upload will not appear in List Multipart Uploads response, even if idempotent complete is possible.
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 Access Control Using AWS Identity and Access Management (IAM).
For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Complete Multipart Upload in the Amazon Glacier Developer Guide.
completeVaultLock(params = {}, callback) ⇒ AWS.Request
This operation completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state, which causes the vault lock policy to become unchangeable. A vault lock is put into the InProgress state by calling InitiateVaultLock. You can obtain the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.
This operation is idempotent. This request is always successful if the vault lock is in the Locked state and the provided lock ID matches the lock ID originally used to lock the vault.
If an invalid lock ID is passed in the request when the vault lock is in the Locked state, the operation returns an AccessDeniedException error. If an invalid lock ID is passed in the request when the vault lock is in the InProgress state, the operation throws an InvalidParameter error.
computeChecksums(data) ⇒ map<linearHash:String,treeHash:String>
Computes the SHA-256 linear and tree hash checksums for a given block of Buffer data. Pass the tree hash of the computed checksums as the checksum input to the completeMultipartUpload() when performing a multi-part upload.