Provided by: libnet-amazon-s3-perl_0.991-1_all
NAME
Net::Amazon::S3::Client - An easy-to-use Amazon S3 client
VERSION
version 0.991
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) 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.