Bugzilla::S3 - A portable client library for working with and managing Amazon S3 buckets and keys.
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.
Create a new S3 client object. Takes some arguments:
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.
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.
Set this to 0 if you not want to use SSL-encrypted connections when talking to S3.
Defaults to 1.
Defines the time, in seconds, your script should wait or a response before bailing. Defaults is 30 seconds.
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.
Defines the S3 host endpoint to use. Defaults to 's3.amazonaws.com'.
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 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:
Doesn't matter what you set it to. Just has to be set
Your AWS access key
Your AWS sekkr1t passkey. Be forewarned that setting this environment variable on a shared system might leak that information to another user. Be careful.
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.
Timothy Appnel <tima@cpan.org>
Bugzilla::S3::Bucket, Net::Amazon::S3
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.