首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >列出s3存储桶中的子文件夹文件路径

列出s3存储桶中的子文件夹文件路径
EN

Stack Overflow用户
提问于 2016-01-13 20:09:43
回答 2查看 1.1K关注 0票数 0

我有一个如下的s3结构:

s3bucketname -> List of first level keys -> List of second level keys -> List of third keys -> Actual file。

我需要做的是,给定s3bucket的名称和第一级键和第三级键的条目,我需要符合此条件的所有文件的路径,即第二级键的某种通配符

有人能告诉我用java怎么做吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-01-13 21:30:22

我建议你浏览这些链接:http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html#listObjects%28com.amazonaws.services.s3.model.ListObjectsRequest%29

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/ObjectListing.html#getCommonPrefixes%28%29

假设你的存储桶中有一个这样的层次结构:

代码语言:javascript
运行
复制
"foo/bar/baz/sample1.txt"
"foo/bar/bash/sample2.txt"
"foo/bar/bang/sample3.txt"
"foo/boo/baz/sample4.txt"
"foo/boo/bash/sample6.txt"
"foo/boo/sample5.txt"

你知道第一个键是"foo“,第三个键是"baz",你可以用前缀值"foo/”和分隔符"/“调用listObjects() api,这将给你一个在公共前缀列表中有两个条目的ObjectListing,它们是"foo/bar/”和"foo/boo/“。然后,您可以将已知的第三个键"bash“附加到每个字符串中,并再次使用listObjects() api获取所有对象。

票数 0
EN

Stack Overflow用户

发布于 2016-01-16 19:12:38

坦率地说,最简单的方法是获得具有已知前缀的所有对象的列表。然后,让您的代码查看返回的键,以确定需要哪些键。这将减少对AWS的调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34766353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档