The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

SYNOPSIS

# return the bucket name
print $bucket->name . "\n";

# return the bucket location constraint
print "Bucket is in the " . $bucket->location_constraint . "\n";

# return the ACL XML
my $acl = $bucket->acl;

# list objects in the bucket
# this returns a L<Data::Stream::Bulk> object which returns a 
# stream of L<Net::Amazon::S3::Client::Object> objects, as it may
# have to issue multiple API requests
my $stream = $bucket->list;
until ( $stream->is_done ) {
  foreach my $object ( $stream->items ) {
    ...
  }
}

# or list by a prefix
my $prefix_stream = $bucket->list( { prefix => 'logs/' } );

# returns a L<Net::Amazon::S3::Client::Object>, which can then
# be used to get or put
my $object = $bucket->object( key => 'this is the key' );

# delete the bucket (it must be empty)
$bucket->delete;

DESCRIPTION

This module represents buckets.

METHODS

acl

# return the ACL XML
my $acl = $bucket->acl;

delete

# delete the bucket (it must be empty)
$bucket->delete;

list

# list objects in the bucket
# this returns a L<Data::Stream::Bulk> object which returns a 
# stream of L<Net::Amazon::S3::Client::Object> objects, as it may
# have to issue multiple API requests
my $stream = $bucket->list;
until ( $stream->is_done ) {
  foreach my $object ( $stream->items ) {
    ...
  }
}

# or list by a prefix
my $prefix_stream = $bucket->list( { prefix => 'logs/' } );

location_constraint

# return the bucket location constraint
print "Bucket is in the " . $bucket->location_constraint . "\n";

name

# return the bucket name
print $bucket->name . "\n";

object

# returns a L<Net::Amazon::S3::Client::Object>, which can then
# be used to get or put
my $object = $bucket->object( key => 'this is the key' );