in reply to Re^2: Need to print bucket and filename which is uploaded on S3 storage
in thread Need to print bucket and filename which is uploaded on S3 storage

That means there was an error returned by Amazon.

Have you checked the errors in $s3->err and $s3->errstr?

Also, maybe you have not created any buckets yet?

Replies are listed 'Best First'.
Re^4: Need to print bucket and filename which is uploaded on S3 storage
by coolsaurabh (Acolyte) on Aug 21, 2019 at 08:08 UTC
    the script returned some HASH value when I am trying to print $s3 value.
    use Amazon::S3; my $file_name = "filename.txt"; my $bucketName = "forest-upload"; my $s3 = Amazon::S3->new({ aws_access_key_id => "XX", aws_secret_access_key => "XX", retry => 1 }); print $s3;
    Output is "Amazon::S3=HASH(0xafac08)"

      Yes.

      But you have no error checking here:

      my $result = $s3->buckets();

      If $result is not defined, which happens when there is an error, you ignore that.

      Instead of ignoring that, check the errors there. This is documented in Amazon::S3. Maybe the following helps:

      my $result = $s3->buckets(); if( ! $result ) { warn "There was an error when looking at the existing buckets:"; warn join " - ", $s3->err, $s3->errstr; die "Cannot continue."; }; ...
        add_bucket is failing when trying to add the same.
        use Amazon::S3; my $file_name = "filename.txt"; my $bucketName = "forest-upload"; my $s3 = Amazon::S3->new({ aws_access_key_id => "XX", aws_secret_access_key => "XX", retry => 1 }); print $s3; print "\n"; my $result = $s3->buckets(); my $bucket_name = 'Test-Bucket'; my $bucket = $s3->add_bucket( { bucket => $bucket_name } ) or die $s3- +>errstr ;
        Out of this script is Amazon::S3=HASH(0x25dac28) Died at Amazon_bucket.pl line 18.