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

How to change AWS S3 V2 Java api's limit of 1000 while listing objects [For Bucket having more than 1 Billion objects]?

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

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

谢谢

我们在处理大量对象时遇到了同样的问题。

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

s3://bucket-name/timestamp/actualobject.extension

Eg.,
s3://mys3bucket/1506237300/datafile001.json

当你遍历时,我有并行线程 运行 每个时间戳以 15 分钟为增量,所有内容都读取得非常快。

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

希望对您有所帮助。