【发布时间】:2020-06-15 10:20:30
【问题描述】:
我有一个 S3 存储桶,其中包含一百万个对象,每个对象键彼此完全不同,根本没有标准。
我想知道是否可以使用 Amazon S3 SDK for Java 搜索特定的键模式并返回这些对象?
例如,我可以使用
搜索键吗- 前缀
- 后缀
- 或正则表达式
使用 S3 搜索密钥的可能方法有哪些?
【问题讨论】:
标签: java amazon-web-services amazon-s3
我有一个 S3 存储桶,其中包含一百万个对象,每个对象键彼此完全不同,根本没有标准。
我想知道是否可以使用 Amazon S3 SDK for Java 搜索特定的键模式并返回这些对象?
例如,我可以使用
搜索键吗使用 S3 搜索密钥的可能方法有哪些?
【问题讨论】:
标签: java amazon-web-services amazon-s3
您可以ListObjects() 使用给定的前缀。 Amazon S3 不支持通过后缀或正则表达式列出。
前缀包含对象的完整路径,因此可以找到带有 2020/06/10/foo.txt 前缀的 Key 的对象,前缀为 2020/06/10/,但不是前缀为 foo。
Java 命令是:ListObjects()
另见:Performing Operations on Amazon S3 Objects - AWS SDK for Java
对于数百万个对象,列出对象(即使带有前缀)可能会很慢,因为每个 API 调用将返回最多 1000 个对象。
您也可以使用Amazon S3 Inventory,它可以提供包含所有对象列表的每日或每周 CSV 文件。
【讨论】: