如何通过文件名列表从S3获得S3ObjectSummaries列表?



我有一个S3桶,里面有很多文件,所以要得到所有的文件,然后迭代等等,只是性能不够。我希望能够通过S3文件名一次从桶中抓取500个左右。但我不确定如何做到这一点,而不向S3发出单独的请求,我能以某种方式批处理这个吗?

现在我的对象请求如下:

ListObjectsRequest objectsRequest = new ListObjectsRequest()
.withBucketName(getBucketName())
.withPrefix(getPrefix());

然后我显然必须遍历它们,并寻找我想要的500个左右(这真的很慢,因为桶很大)。

我希望能做这样的事情:

ListObjectsRequest objectsRequest = new ListObjectsRequest()
.withBucketName(getBucketName())
.withPrefix(getPrefix())
.withFileNames(getFileNames());

它将返回我正在寻找的500个左右的文件。

我该怎么做?这可能吗?

如果这是一次性的活动,您可以使用Amazon S3 Inventory,它可以提供列出所有对象的每日或每周CSV文件。

你可以从这个列表中填充你的数据库。

该列表包括对象名称和对象的大小,这就是您要查找的。

相关内容

  • 没有找到相关文章

最新更新