使用 Perl 删除 S3 "folder"



我试图使用Net::Amazon::S3来操作S3存储桶进行备份旋转。我需要做的一件事是删除包含旧备份的文件夹。但是,虽然我可以删除文件,但我无法获得删除空文件夹的代码。

例如:

our $s3 = Net::Amazon::S3->new({
aws_access_key_id  => 'key_id',
aws_secret_access_key => 'access_key',
retry => 1
});
our $bucket_name = 'bucketName';
our $s3Bucket = $s3->bucket($bucket_name);
# Assume bucket 'bucketName' has the following key. This works fine:
$s3Bucket->delete_key('weeklyTest/test.pdf') or say STDERR 'File delete failed:'  . $s3Bucket->errstr;
# Assume bucket 'bucketName' has the following empty key. 
# This fails to happen, but without reporting any error.
$s3Bucket->delete_key('weeklyTest/') or say STDERR 'Folder delete failed:'  . $s3Bucket->errstr;

是否有什么我错过了需要做的事情来获得一个"文件夹";键删除?

所有用于AWS服务的库都与AWS -cli密切相关。如果您可以使用aws-cli使事情正常工作,那么以编程方式完成相同工作的过程将是类似的。我通常使用aws-cli进行原型设计,以确保语法/选项正确,然后在代码中重复。

delete_key用于对象是一个桶,但如果你想删除桶本身,你需要使用delete_bucket。

https://metacpan.org/pod/Amazon:: S3 # delete_bucket

相关内容

  • 没有找到相关文章

最新更新