如何通过使用perl传递S3存储桶名称作为参数来获取S3存储桶对象/密钥?

问题描述

是否可以通过使用Perl传递S3存储桶名称作为参数来检索S3存储桶对象/键?

解决方法

从Perl与AWS进行交互的标准(巨大!)方法是使用Paws

实际上,该分发的示例包括一个名为s3-listall.pl的示例,我认为它非常类似于您想要的。

#!/usr/bin/env perl
 
use v5.10;
use Paws;
 
my $bucket = $ARGV[0] or die "Usage $0 bucket\n";
 
my $s3 = Paws->service('S3',region => 'eu-west-1');
 
my $res = $s3->ListAllObjects(
  Bucket => $bucket
);
 
foreach my $object (@{ $res->Contents }) {
  say $object->Key;
}