I have been struggling all day with trying to get perl to talk to AWS/S3. It has been a rough day. First off, I am using Strawberry Perl, and perhaps this is the root of all my issues. I failed to install Net::Amazon::S3, and I had separate issues with Amazon::S3. I made the most progress with AWS::S3 from LEEJO. Assuming for a moment Strawberry Perl is not the issue, the current roadblock I am hitting is trying to use the $bucket->add_file function to an existing bucket. The code keeps generating this message:
"Use of uninitialized value $etag in substitution (s///) at C:/Strawberry/perl/site/lib/AWS/S3/File.pm line 153."
use AWS::S3;
my $aws_access_key_id = "XXX";
my $aws_secret_access_key = "XXX";
my $s3 = AWS::S3->new(
access_key_id => $aws_access_key_id,
secret_access_key => $aws_secret_access_key,
honor_leading_slashes => 0, # set to allow leading slashes in bucket
+ names, defaults to 0
);
my @bucket_list = $s3->buckets;
my $bucket = @bucket_list[0];
my $name = $bucket->name;
my $acl = $bucket->acl;
print "Name: " . $name . ", ACL: " . acl . "\n";
# Add a file:
my $new_file = $bucket->add_file(
key => 'foo/bar.txt',
contents => \'This is the contents of the file',
);
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|