5

我必须编写一个 Rails 任务来从 s3 存储桶获取文件,但我的存储桶有超过 1000 个对象。

.
#Connection codes and configures
.
bucket = AWS::S3::Bucket.find('my_bucket')
puts bucket.size
# => 1000

这段代码只给了我 1000 个对象 :( 我
如何从 s3 存储桶中获取所有对象?

4

1 回答 1

9

S3 开发人员文档中所述:

为了管理大型结果集,Amazon S3 使用分页将它们拆分为多个响应。每个列表键响应返回一个最多包含 1,000 个键的页面,并带有指示响应是否被截断的指示符。您发送一系列列表密钥请求,直到您收到所有密钥。

REST GET Bucket操作的响应包含扮演上述指标角色的IsTruncated元素。

要使用 AWS::S3 库检索下一组结果,请使用当前结果页面中的最后一个键作为下一个请求中的标记。

于 2012-11-12T00:49:09.833 回答