Furl-S3

 view release on metacpan or  search on metacpan

README.mkdn  view on Meta::CPAN

# NAME

Furl::S3 - Furl based S3 client library.

# SYNOPSIS

  use Furl::S3;

  my $s3 = Furl::S3->new( 
      aws_access_key_id => '...', 
      aws_secret_access_key => '...',
  );
  $s3->create_bucket($bucket) or die $s3->error;

  my $res = $s3->list_objects($bucket) or die $s3->error;
  for my $obj(@{$res->{contents}}) {
      printf "%s\n", $obj->{key};
  }

# DESCRIPTION

This module uses [Furl](http://search.cpan.org/perldoc?Furl) lightweight HTTP client library and provides very simple interfaces to Amazon Simple Storage Service (Amazon S3)

for more details. see Amazon S3's developer guide and API References.

http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/

http://docs.amazonwebservices.com/AmazonS3/2006-03-01/API/

# METHODS

## Furl::S3->new( %args )

returns a new Furl::S3 object.

_%args_ are below.

- aws_access_key_id 

AWS Access Key ID

- aws_secret_access_key

AWS Secret Access Key.

- secure

boolean flag. uses SSL connection or not.

- endpoint

S3 endpoint hostname. the default value is _s3.amazonaws.com_

other parmeters are passed to Furl->new. see [Furl](http://search.cpan.org/perldoc?Furl) documents.

## list_buckets

list all buckets.
returns a HASH-REF

  {
      'owner' => {
        'id' => '...',
        'display_name' => '..'
      },
      'buckets' => [
          {
              'creation_date' => '2010-11-30T00:00:00.000Z',
              'name' => 'Your bucket name'
          },
          #...
      ]
  }

## create_bucket($bucket, [ \%headers ])

create new bucket.
returns a boolean value. 

## delete_bucket($bucket);

delete bucket.
returns a boolean value.

## list_objects($bucket, [ \%params ])

list all objects in specified bucket.
returna a HASH-REF 



  {
      'marker' => '',
      'common_prefixes' => [],
      'max_keys' => '10',
      'contents' => [
          {
               'owner' => {
                   'id' => '..'
                   'display_name' => '...'
               },
               'etag' => 'xxx',
               'storage_class' => 'STANDARD',
               'last_modified' => '2010-12-01T00:00:00.000Z',
               'size' => '10000',
               'key' => 'foo/bar/baz.txt'
          },
          #... 
      ],
      'name' => 'Your bucket name',
      'delimiter' => '',
      'is_truncated' => 1



( run in 2.728 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )