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', );
In reply to PERL to AWS by gdmichaels
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |