Net::Amazon::S3::Client.3pm

Langue: en

Version: 2009-05-19 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Net::Amazon::S3::Client - An easy-to-use Amazon S3 client

SYNOPSIS

   my $s3 = Net::Amazon::S3->new(
     aws_access_key_id     => $aws_access_key_id,
     aws_secret_access_key => $aws_secret_access_key,
     retry                 => 1,
   );
   my $client = Net::Amazon::S3::Client->new( s3 => $s3 );
 
   # list all my buckets
   # returns a list of L<Net::Amazon::S3::Client::Bucket> objects
   my @buckets = $client->buckets;
   foreach my $bucket (@buckets) {
     print $bucket->name . "\n";
   }
 
   # create a new bucket
   # returns a L<Net::Amazon::S3::Client::Bucket> object
   my $bucket = $client->create_bucket(
     name                => $bucket_name,
     acl_short           => 'private',
     location_constraint => 'US',
   );
 
   # or use an existing bucket
   # returns a L<Net::Amazon::S3::Client::Bucket> object
   my $bucket = $client->bucket( name => $bucket_name );
 
 

DESCRIPTION

The Net::Amazon::S3 module was written when the Amazon S3 service had just come out and it is a light wrapper around the APIs. Some bad API decisions were also made. The Net::Amazon::S3::Client, Net::Amazon::S3::Client::Bucket and Net::Amazon::S3::Client::Object classes are designed after years of usage to be easy to use for common tasks.

These classes throw an exception when a fatal error occurs. It also is very careful to pass an MD5 of the content when uploaded to S3 and check the resultant ETag.

WARNING: This is an early release of the Client classes, the APIs may change.

METHODS

buckets

   # list all my buckets
   # returns a list of L<Net::Amazon::S3::Client::Bucket> objects
   my @buckets = $client->buckets;
   foreach my $bucket (@buckets) {
     print $bucket->name . "\n";
   }
 
 

create_bucket

   # create a new bucket
   # returns a L<Net::Amazon::S3::Client::Bucket> object
   my $bucket = $client->create_bucket(
     name                => $bucket_name,
     acl_short           => 'private',
     location_constraint => 'US',
   );
 
 

bucket

   # or use an existing bucket
   # returns a L<Net::Amazon::S3::Client::Bucket> object
   my $bucket = $client->bucket( name => $bucket_name );