<<

Bugzilla::S3

NAME

Bugzilla::S3 - A portable client library for working with and managing Amazon S3 buckets and keys.

DESCRIPTION

Bugzilla::S3 provides a portable client interface to Amazon Simple Storage System (S3).

This need for this module arose from some work that needed to work with S3 and would be distributed, installed and used on many various environments where compiled dependencies may not be an option. Net::Amazon::S3 used XML::LibXML tying it to that specific and often difficult to install option. In order to remove this potential barrier to entry, this module is forked and then modified to use XML::SAX via XML::Simple.

Bugzilla::S3 is intended to be a drop-in replacement for Net:Amazon::S3 that trades some performance in return for portability.

METHODS

new

Create a new S3 client object. Takes some arguments:

aws_access_key_id

Use your Access Key ID as the value of the AWSAccessKeyId parameter in requests you send to Amazon Web Services (when required). Your Access Key ID identifies you as the party responsible for the request.

aws_secret_access_key

Since your Access Key ID is not encrypted in requests to AWS, it could be discovered and used by anyone. Services that are not free require you to provide additional information, a request signature, to verify that a request containing your unique Access Key ID could only have come from you.

DO NOT INCLUDE THIS IN SCRIPTS OR APPLICATIONS YOU DISTRIBUTE. YOU'LL BE SORRY.

secure

Set this to 0 if you not want to use SSL-encrypted connections when talking to S3. Defaults to 1.

timeout

Defines the time, in seconds, your script should wait or a response before bailing. Defaults is 30 seconds.

retry

Enables or disables the library to retry upon errors. This uses exponential backoff with retries after 1, 2, 4, 8, 16, 32 seconds, as recommended by Amazon. Defaults to off, no retries.

host

Defines the S3 host endpoint to use. Defaults to 's3.amazonaws.com'.

ABOUT

This module contains code modified from Amazon that contains the following notice:

  #  This software code is made available "AS IS" without warranties of any
  #  kind.  You may copy, display, modify and redistribute the software
  #  code either by itself or as incorporated into your code; provided that
  #  you do not remove any proprietary notices.  Your use of this software
  #  code is at your own risk and you waive any claim against Amazon
  #  Digital Services, Inc. or its affiliates with respect to your use of
  #  this software code. (c) 2006 Amazon Digital Services, Inc. or its
  #  affiliates.

TESTING

Testing S3 is a tricky thing. Amazon wants to charge you a bit of money each time you use their service. And yes, testing counts as using. Because of this, the application's test suite skips anything approaching a real test unless you set these three environment variables:

AMAZON_S3_EXPENSIVE_TESTS

Doesn't matter what you set it to. Just has to be set

AWS_ACCESS_KEY_ID

Your AWS access key

AWS_ACCESS_KEY_SECRET

Your AWS sekkr1t passkey. Be forewarned that setting this environment variable on a shared system might leak that information to another user. Be careful.

TO DO

Continued to improve and refine of documentation.
Reduce dependencies wherever possible.
Implement debugging mode
Refactor and consolidate request code in Bugzilla::S3
Refactor URI creation code to make use of URI.

SUPPORT

Bugs should be reported via the CPAN bug tracker at

<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Amazon-S3>

For other issues, contact the author.

AUTHOR

Timothy Appnel <tima@cpan.org>

SEE ALSO

Bugzilla::S3::Bucket, Net::Amazon::S3

COPYRIGHT AND LICENCE

This module was initially based on Net::Amazon::S3 0.41, by Leon Brocard. Net::Amazon::S3 was based on example code from Amazon with this notice:

# This software code is made available "AS IS" without warranties of any # kind. You may copy, display, modify and redistribute the software # code either by itself or as incorporated into your code; provided that # you do not remove any proprietary notices. Your use of this software # code is at your own risk and you waive any claim against Amazon # Digital Services, Inc. or its affiliates with respect to your use of # this software code. (c) 2006 Amazon Digital Services, Inc. or its # affiliates.

The software is released under the Artistic License. The terms of the Artistic License are described at http://www.perl.com/language/misc/Artistic.html. Except where otherwise noted, Amazon::S3 is Copyright 2008, Timothy Appnel, tima@cpan.org. All rights reserved.

<<