View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Tim Nordenfur > Net-Amazon-Glacier-0.12 > Net::Amazon::Glacier



Annotate this POD


New  2
Open  3
View/Report Bugs
Module Version: 0.12   Source   Latest Release: Net-Amazon-Glacier-0.15


Net::Amazon::Glacier - An implementation of the Amazon Glacier RESTful API.


Version 0.12


This module implements the Amazon Glacier RESTful API, version 2012-06-01 (current at writing). It can be used to manage Glacier vaults and upload archives to them. Amazon Glacier is Amazon's long-term storage service.

Perhaps a little code snippet.

        use Net::Amazon::Glacier;

        my $glacier = Net::Amazon::Glacier->new(

        $glacier->create_vault( 'a_vault' );

The functions are intended to closely reflect Amazon's Glacier API. Please see Amazon's API reference for documentation of the functions:


new( $region, $access_key_id, $secret )


create_vault( $vault_name )

Creates a vault with the specified name. Returns true on success, false on failure.

delete_vault( $vault_name )

Deletes the specified vault. Returns true on success, false on failure.

describe_vault( $vault_name )

Fetches information about the specified vault. Returns a hash reference with the keys described by Returns false on failure.

list_vaults( [$limit, [$marker] ] )

Lists the vaults. Returns a hash reference with a "marker" key, for pagination, and a "VaultList", which describes the vaults. The content of the vault list, and how $limit and $marker can be used for pagination, is described by Returns false on failure.


upload_archive( $vault_name, $archive_path, [ $description ] )

Uploads an archive to the specified vault. $archive_path is the local path to any file smaller than 4GB. For larger files, see multi-part upload. An archive description of up to 1024 printable ASCII characters can be supplied. Returns the Amazon-generated archive ID on success, or false on failure.


initiate_archive_retrieval( $vault_name, $archive_id, [ $description, $sns_topic ] )

Initiates an archive retrieval job. $archive_id is an ID previously retrieved from Amazon Glacier. A job description of up to 1,024 printable ASCII characters may be supplied. An SNS Topic to send notifications to upon job completion may also be supplied.

initiate_inventory_retrieval( $vault_name, [ $format, $description, $sns_topic ] )

Initiates an inventory retrieval job. $format is either CSV or JSON (default). A job description of up to 1,024 printable ASCII characters may be supplied. An SNS Topic to send notifications to upon job completion may also be supplied.

get_job_output( $vault_name, $job_id, [ $range ] )

Retrieves the output of a job, returns a binary blob. Optional range parameter is passed as an HTTP header.

describe_job( $vault_name, $job_id )

Retrieves a hashref with information about the requested JobID


The following parts of Amazon's API have not yet been implemented. This is mainly because the author hasn't had a use for them yet. If you do implement them, feel free to send a patch.


See also Victor Efimov's MT::AWS::Glacier, an application for AWS Glacier synchronization. It is available at


Written and maintained by Tim Nordenfur, <tim at>. Support for job operations was contributed by Ted Reed at IMVU.


Please report any bugs or feature requests to bug-net-amazon-glacier at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Net::Amazon::Glacier

You can also look for information at:


Copyright 2012 Tim Nordenfur.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See for more information.

syntax highlighting: