logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

WebService::S3::Tiny - Perl module for using S3 or compatible APIs

Methods

       All the request methods of the form {get,put,delete,head}_{bucket,object} can also be called with the
       "_url" suffix to generate a pre-signed URL for the corresponding call.

       These URL methods take almost the same arguments as their request counterparts, with the difference that
       they take an optional argument to indicate the lifetime of the URL in seconds. This argument always comes
       after the bucket and object, and before the header and parameter references. This value cannot be greater
       than 604800 (= one week).

   new
        WebService::S3::Tiny->new(
            access_key => ..., # required
            host       => ..., # required
            region     => ..., # optional, defaults to "us-east-1"
            secret_key => ..., # required
            service    => ..., # optional, defaults to "s3"
            ua         => ..., # optional, defaults to HTTP::Tiny->new
        );

   delete_bucket
        $s3->delete_bucket($bucket);
        $s3->delete_bucket($bucket, \%headers);

   get_bucket
        $s3->get_bucket($bucket);
        $s3->get_bucket($bucket, \%headers);
        $s3->get_bucket($bucket, \%headers, \%parameters);

   head_bucket
        $s3->head_bucket($bucket);
        $s3->head_bucket($bucket, \%headers);

   put_bucket
        $s3->put_bucket($bucket);
        $s3->put_bucket($bucket, \%headers);

   delete_object
        $s3->delete_object($bucket, $object);
        $s3->delete_object($bucket, $object, \%headers);

   get_object
        $s3->get_object($bucket, $object);
        $s3->get_object($bucket, $object, \%headers);
        $s3->get_object($bucket, $object, \%headers, \%parameters);

   head_object
        $s3->head_object($bucket, $object);
        $s3->head_object($bucket, $object, \%headers);

   put_object
        $s3->put_object($bucket, $object, $content);
        $s3->put_object($bucket, $object, $content, \%headers);

        # Set foo/bar to "qux"
        $s3->put_object('foo', 'bar', 'qux');

        # Copy foo/bar to foo/baz
        $3->put_object('foo', 'baz', undef, { 'x-amz-copy-source' => 'foo/bar' });

   request
        $s3->request($method, $bucket, $object, $content, \%headers, \%parameters);

   delete_bucket_url
        $s3->delete_bucket_url($bucket, $expires);
        $s3->delete_bucket_url($bucket, $expires, \%headers);

   get_bucket_url
        $s3->get_bucket_url($bucket, $expires);
        $s3->get_bucket_url($bucket, $expires, \%headers);
        $s3->get_bucket_url($bucket, $expires, \%headers, \%parameters);

   head_bucket_url
        $s3->head_bucket_url($bucket, $expires);
        $s3->head_bucket_url($bucket, $expires, \%headers);

   put_bucket_url
        $s3->put_bucket_url($bucket, $expires);
        $s3->put_bucket_url($bucket, $expires, \%headers);

   delete_object_url
        $s3->delete_object_url($bucket, $object, $expires);
        $s3->delete_object_url($bucket, $object, $expires, \%headers);

   get_object_url
        $s3->get_object_url($bucket, $object, $expires);
        $s3->get_object_url($bucket, $object, $expires, \%headers);
        $s3->get_object_url($bucket, $object, $expires, \%headers, \%parameters);

   head_object_url
        $s3->head_object_url($bucket, $object, $expires);
        $s3->head_object_url($bucket, $object, $expires, \%headers);

   put_object_url
        $s3->put_object_url($bucket, $object, $expires);
        $s3->put_object_url($bucket, $object, $expires, \%headers);

   signed_url
        $s3->signed_url($method, $bucket, $object, $expires, \%headers, \%parameters );

Name

       WebService::S3::Tiny - Perl module for using S3 or compatible APIs

Synopsis

        use WebService::S3::Tiny;

        my $s3 = WebService::S3::Tiny->new(
            access_key => 'foo',
            host       => 'http://localhost:1337',
            secret_key => 'bar',
        );

See Also