Provided by: libnet-amazon-s3-perl_0.991-1_all bug

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.