如何在列出对象时更改 AWS S3 V2 Java API 的 1000 个限制 [对于具有超过 10 亿个对象的存储桶]?



我正在从事项目,我需要从Amazon S3存储桶下载密钥,该键具有超过10亿个对象。我使用Java V2 API编写了一个代码,但它无济于事,因为它一次仅下载1000个键。从此存储桶中获取所有钥匙列表需要几天的时间。是否有任何更快的方法获取所有键列表。

我已经检查了与此主题相关的其他答案,但没有帮助。

我们遇到了许多对象。

我们以其对象名称中的10个增量遵循模式时间戳。看起来像这样,

s3://bucket-name/timestamp/actualobject.extension
Eg.,
s3://mys3bucket/1506237300/datafile001.json

当您迭代时,我的平行线程为每个时间戳以15分钟的增量运行,并且一切都非常快。

解决的关键方法是找出您在存储这些对象的模式并根据这些模式列出对象名称。

希望它有帮助。

最新更新