table of contents
| Net::Amazon::S3::Client(3pm) | User Contributed Perl Documentation | Net::Amazon::S3::Client(3pm) |
NAME¶
Net::Amazon::S3::Client - An easy-to-use Amazon S3 client
VERSION¶
version 0.97
SYNOPSIS¶
# Build Client instance
my $client = Net::Amazon::S3::Client->new (
# accepts all Net::Amazon::S3's arguments
aws_access_key_id => $aws_access_key_id,
aws_secret_access_key => $aws_secret_access_key,
retry => 1,
);
# or reuse an existing S3 connection
my $client = Net::Amazon::S3::Client->new (s3 => $s3);
# list all my buckets
# returns a list of L<Net::Amazon::S3::Client::Bucket> objects
my @buckets = $client->buckets;
foreach my $bucket (@buckets) {
print $bucket->name . "\n";
}
# create a new bucket
# returns a L<Net::Amazon::S3::Client::Bucket> object
my $bucket = $client->create_bucket(
name => $bucket_name,
acl_short => 'private',
location_constraint => 'us-east-1',
);
# or use an existing bucket
# returns a L<Net::Amazon::S3::Client::Bucket> object
my $bucket = $client->bucket( name => $bucket_name );
DESCRIPTION¶
The Net::Amazon::S3 module was written when the Amazon S3 service had just come out and it is a light wrapper around the APIs. Some bad API decisions were also made. The Net::Amazon::S3::Client, Net::Amazon::S3::Client::Bucket and Net::Amazon::S3::Client::Object classes are designed after years of usage to be easy to use for common tasks.
These classes throw an exception when a fatal error occurs. It also is very careful to pass an MD5 of the content when uploaded to S3 and check the resultant ETag.
WARNING: This is an early release of the Client classes, the APIs may change.
CONSTRUCTOR¶
- s3
- Net::Amazon::S3 instance
- error_handler_class
- Error handler class name (package name), see
Net::Amazon::S3::Error::Handler for more. Overrides one available in
"s3".
Default: Net::Amazon::S3::Error::Handler::Confess
- error_handler
- Instance of error handler class.
METHODS¶
new¶
Net::Amazon::S3::Client can be constructed two ways.
Historically it wraps S3 API instance
use Net::Amazon::S3::Client;
my $client = Net::Amazon::S3::Client->new (
s3 => .... # Net::Amazon::S3 instance
);
new (since v0.92)¶
Since v0.92 explicit creation of S3 API instance is no longer necessary. Net::Amazon::S3::Client's constructor accepts same parameters as Net::Amazon::S3
use Net::Amazon::S3::Client v0.92;
my $client = Net::Amazon::S3::Client->new (
aws_access_key_id => ...,
aws_secret_access_key => ...,
...,
);
buckets¶
# list all my buckets
# returns a list of L<Net::Amazon::S3::Client::Bucket> objects
my @buckets = $client->buckets;
foreach my $bucket (@buckets) {
print $bucket->name . "\n";
}
create_bucket¶
# create a new bucket
# returns a L<Net::Amazon::S3::Client::Bucket> object
my $bucket = $client->create_bucket(
name => $bucket_name,
acl_short => 'private',
location_constraint => 'us-east-1',
);
bucket¶
# or use an existing bucket # returns a L<Net::Amazon::S3::Client::Bucket> object my $bucket = $client->bucket( name => $bucket_name );
bucket_class¶
# returns string "Net::Amazon::S3::Client::Bucket" # subclasses will want to override this. my $bucket_class = $client->bucket_class
AUTHOR¶
Branislav Zahradník <barney@cpan.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2020 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.
| 2020-10-09 | perl v5.30.3 |