NAME
Net::Amazon::S3::Client::Bucket - An easy-to-use Amazon S3 client bucket
VERSION
version 0.991
SYNOPSIS
# return the bucket name
$bucket
->name .
"\n"
;
# return the bucket location constraint
"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;
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
"Bucket is in the "
.
$bucket
->location_constraint .
"\n"
;
name
# return the bucket name
$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;
AUTHOR
Branislav ZahradnĂk <barney@cpan.org>
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.