Amazon web services Paws::S3::ListObjectVersions-调用返回空版本数组

Amazon web services Paws::S3::ListObjectVersions-调用返回空版本数组,amazon-web-services,perl,amazon-s3,Amazon Web Services,Perl,Amazon S3,我正在尝试使用Paws::S3::ListObjectVersions获取S3对象的VersionID列表 示例代码: use Paws; use Data::Dumper; my $bucket = '<bucket>'; my $s3 = Paws->service('S3', region => '<region>'); my $s3_object_list = $s3->ListObjects(Bucket => $bucket);

我正在尝试使用
Paws::S3::ListObjectVersions
获取S3对象的VersionID列表

示例代码:

use Paws;
use Data::Dumper;

my $bucket = '<bucket>';
my $s3 = Paws->service('S3', region => '<region>');

my $s3_object_list = $s3->ListObjects(Bucket => $bucket);

foreach my $s3_object (@{$s3_object_list->Contents}){
    print($s3_object->Key."\n");
    $s3_object_versions = $s3->ListObjectVersions(Bucket => $bucket, Prefix => $s3_object->Key);
    print Dumper($s3_object_versions);
    foreach my $s3_object_version (@{$s3_object_versions->Versions}){
        print($s3_object_version."\n");
    };
}
使用爪子;
使用数据::转储程序;
我的$bucket='';
我的$s3=爪子->服务('s3',区域=>'';
我的$s3\u对象\u列表=$s3->ListObjects(Bucket=>Bucket);
foreach my$s3_对象(@{$s3_对象列表->内容}){
打印($s3_对象->键。“\n”);
$s3\u object\u versions=$s3->ListObjectVersions(Bucket=>$Bucket,前缀=>$s3\u object->Key);
打印转储程序(s3\u对象\u版本);
foreach my$s3_object_version(@{$s3_object_versions->versions}){
打印($s3_对象_版本。“\n”);
};
}
这种类型可以工作,但它会返回一个空的版本列表:

$VAR1 = bless( {
                 'CommonPrefixes' => [],
                 'Versions' => [],
                 '_request_id' => '1234567890ABCDEF',
                 'MaxKeys' => '1000',
                 'Prefix' => '<prefix>',
                 'IsTruncated' => 0,
                 'DeleteMarkers' => [],
                 'Name' => '<bucket>'
               }, 'Paws::S3::ListObjectVersionsOutput' );
$VAR1=祝福({
“CommonPrefixes”=>[],
“版本”=>[],
“_request_id”=>“1234567890ABCDEF”,
“MaxKeys”=>“1000”,
'前缀'=>'',
“IsTruncated”=>0,
'DeleteMarkers'=>[],
“名称”=>“
},'Paws::S3::ListObjectVersionsOutput');
在对Powershell执行相同操作时,我得到以下结果:

PS > (Get-S3Version -BucketName <bucket> -Prefix <prefix>).Versions

BucketName         Key              IsLatest VersionId                        LastModified          Size   StorageClass
----------         ---              -------- ---------                        ------------          ----   ------------
<bucket>           <prefix>         True     llmRo1gSe4.3ByyXurXodl_wpKlecABw 8/16/2019 10:25:43 AM 198702 STANDARD
<bucket>           <prefix>         False    ZxJzCX5kTHH3MMh.7ZL2E3Tkz.pQOCYw 8/16/2019 10:18:08 AM 198702 STANDARD
PS>(Get-S3Version-BucketName-Prefix)。版本
BucketName密钥IsLatest版本ID LastModified Size StorageClass
----------         ---              -------- ---------                        ------------          ----   ------------
真正的llmRo1gSe4.3Byyxurxodlwpklecabw8/16/2019 10:25:43 AM 198702标准
假ZxJzCX5kTHH3MMh.7ZL2E3Tkz.PQCYCW 8/16/2019 10:18:08 AM 198702标准
我用爪子的时候有没有什么遗漏


我在Windows Server 2012R2和草莓Perl 5.30 32位下使用Paws。

我在Ubuntu 19.04、
Paws
0.41版上尝试过这个。我可以确认versions对象在这里也是空的。但是我从脚本中得到一个警告:
Paws::S3不稳定/不受支持/不完全开发
。我将进一步研究这一点,看看我是否能找出问题所在。我认为我发现了问题所在。我已提交。让我知道这是否也解决了您的问题@HåkonHægland感谢您对此进行调查,我希望修复程序能够很快发布!我在Ubuntu19.04上试过这个,0.41版。我可以确认versions对象在这里也是空的。但是我从脚本中得到一个警告:
Paws::S3不稳定/不受支持/不完全开发
。我将进一步研究这一点,看看我是否能找出问题所在。我认为我发现了问题所在。我已提交。让我知道这是否也解决了您的问题@HåkonHægland感谢您对此进行调查,我希望修复程序能够很快发布!