Net::Amazon::S3::Client::Bucket - An easy-to-use Amazon S3 client bucket
Contents
Copyright And License
This software is copyright (c) 2022 by Amazon Digital Services, Leon Brocard, Brad Fitzpatrick, Pedro
Figueiredo, Rusty Conover, Branislav Zahradník.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5
programming language system itself.
perl v5.34.0 2022-07-18 Net::Amazon::S3::Client::Bucket(3pm)
Description
This module represents buckets.
Methods
acl
# return the ACL XML
my $acl = $bucket->acl;
add_tags
$bucket->add_tags (
tags => { tag1 => 'val1', ... },
)
delete_tags
$bucket->delete_tags;
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/' } );
# you can emulate folders by using prefix with delimiter
# which shows only entries starting with the prefix but
# not containing any more delimiter (thus no subfolders).
my $folder_stream = $bucket->list( { prefix => 'logs/', delimiter => '/' } );
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' );
delete_multi_object
# delete multiple objects using a multi object delete operation
# Accepts a list of L<Net::Amazon::S3::Client::Object or String> objects.
$bucket->delete_multi_object($object1, $object2)
object_class
# returns string "Net::Amazon::S3::Client::Object"
# allowing subclasses to add behavior.
my $object_class = $bucket->object_class;
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;
Version
version 0.991
