View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
Lee Johnson > AWS-S3-0.14 > AWS::S3::Bucket

Download:
AWS-S3-0.14.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Source   Latest Release: AWS-S3-0.15

NAME ^

AWS::S3::Bucket - Object representation of S3 Buckets

SYNOPSIS ^

See The SYNOPSIS from AWS::S3 for usage details.

CONSTRUCTOR ^

Call new() with the following parameters.

PUBLIC PROPERTIES ^

s3

Required. An AWS::S3 object.

Read-only.

name

Required. String.

The name of the bucket.

Read-only.

creation_date

String. Returned from the S3 service itself.

Read-only.

acl

String. Returns XML string.

Read-only.

See also PUT Bucket ACL

location_constraint

String. Read-only.

The default value is undef which means 'US'.

See also PUT Bucket

policy

Read-only. String of JSON.

Looks something like this:

  {
    "Version":"2008-10-17",
    "Id":"aaaa-bbbb-cccc-dddd",
    "Statement" : [
      {
        "Effect":"Deny",
        "Sid":"1", 
        "Principal" : {
          "AWS":["1-22-333-4444","3-55-678-9100"]
        },
        "Action":["s3:*"],
        "Resource":"arn:aws:s3:::bucket/*",
      }
    ]
  }

See also GET Bucket Policy

PUBLIC METHODS ^

files( page_size => $size, page_number => $number, [[marker => $marker,] pattern => qr/$pattern/ ] )

Returns a AWS::S3::FileIterator object with the supplied arguments.

Use the AWS::S3::FileIterator to page through your results.

file( $key )

Finds the file with that $key and returns an AWS::S3::File object for it.

delete_multi( \@keys )

Given an ArrayRef of the keys you want to delete, delete_multi can only delete up to 1000 keys at once. Empty your buckets for deletion quickly like this:

  my $deleted = 0;
  my $bucket = $s->bucket( 'foobar' );
  my $iter = $bucket->files( page_size => 1000, page_number => 1 );
  while( my @files = $iter->next_page )
  {
    $bucket->delete_multi( map { $_->key } @files );
    $deleted += @files;
    # Reset to page 1:
    $iter->page_number( 1 );
    warn "Deleted $deleted files so far\n";
  }# end while()
  
  # NOW you can delete your bucket (if you want) because it's empty:
  $bucket->delete;

SEE ALSO ^

The Amazon S3 API Documentation

AWS::S3::Bucket

AWS::S3::File

AWS::S3::FileIterator

AWS::S3::Owner

syntax highlighting: