我在尝试列出S3中的存储桶时遇到了麻烦。权限由我的客户端设置,我的Ruby脚本不能"看到"桶中的所有对象。我想评估每个对象以查看是否可以进入它,但是对象。在迭代器尝试查询对象上的acl之前,它会抛出一个拒绝访问。
`return_or_raise': Access Denied (AWS::S3::Errors::AccessDenied)
迭代器上的,意思是我从来没有看过它,看看我是否可以阅读它。从我所看到的,没有关于此的文档,我不认为我应该让我的客户端使对象可列表,以便我的迭代器可以看到它们。如何处理此异常并继续迭代集合,忽略s3客户端抛出的明显致命错误。使用开始/救援是没有用的..
def order_exists?
bucket_content = S3Helper.list_bucket_content(@s3,"important_bucket")
p bucket_content #ok
bucket_content.objects.each do | s3_object |
# NEVER dumps, as I don't have access to one of "important_buckets"
p s3_object child
end
奇怪的是,通过控制台,我可以列出所有存储桶,所以我会有相同的IAM用户可以在SDK中列出它们
非常感谢任何帮助...
麦克