java - 用于列出具有部分 uuid 的对象的 S3 前缀

标签 java amazon-web-services amazon-s3

我很好奇是否可以创建一个 S3 前缀,该前缀可以根据部分数据来确定监听特定文件夹的对象的范围。

基本上结构如下,我只能提供uuid1和uuid2的uuid。我无法检索ignoreUuid 来构建前缀。

我可以只提供uuid1和uuid2来过滤吗?

目前我只能通过 uuid1 进行,但收听的数量可能有数千个,而且相当耗时。

prefer:  S3_SCAN_RESULT_PREFIX = "{uuid1}/files/{ignoreUuid}/{uuid2}";

currently: S3_SCAN_RESULT_PREFIX = "{uuid1}/files/"; (not optional as this can be quite a huge and expensive object listing) 

   objectListing objects = amazonS3Client().listObjects(bucket, format(S3_RESULT_PREFIX, uuid1, uuid2));

最佳答案

不,不可能 native 列出与 known1/known2/unknown/known3 匹配的对象。

您需要重新排列前缀以将所有已知部分置于前面,或者在其他位置(例如在 DynamoDB 或 RDBMS 中)维护索引。

关于java - 用于列出具有部分 uuid 的对象的 S3 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58118693/

相关文章:

java - 如何为后退键设置一个新的监听器?

node.js - Node js - 将文件从 Amazon Lambda 中的/tmp 移动到 s3bucket

amazon-web-services - Hadoop `Unable to load AWS credentials from any provider in the chain`

amazon-web-services - 如何使用 aws Lambda 将多个相关文件作为一个组上传到 s3

amazon-web-services - 如何约束客户端在 s3 上传时发送正确的 sha256 作为文件 key ? (预签名网址)

java - 我无法将 camunda map 元素作为输入参数的子元素。无法理解为什么?

java - Tomcat catalina 日志文件不包含任何数据

amazon-web-services - 通过 SSH 连接到 AWS 上的 ec2 实例

java - Findbugs 问题与 "Boxing/unboxing to parse a primitive"和 Integer.valueOf(String)

amazon-web-services - Lambda 访问互联网的 Cloudformation 导致超时