Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列出s3存储桶中的子文件夹文件路径_Java_Amazon S3 - Fatal编程技术网

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

Java 列出s3存储桶中的子文件夹文件路径,java,amazon-s3,Java,Amazon S3,我的s3结构如下: s3bucketname->一级密钥列表->二级密钥列表->三级密钥列表->实际文件 我需要做的是,给定s3bucket的名称和第一级密钥和第三级密钥的条目,我需要符合此条件的所有文件的路径,即第二级密钥的某种通配符 有人能指出用java怎么做吗 谢谢我建议您浏览以下链接: 假设您的存储桶中有这样的层次结构: "foo/bar/baz/sample1.txt" "foo/bar/bash/sample2.txt" "foo/bar/bang/sample3.txt" "f

我的s3结构如下:

s3bucketname->一级密钥列表->二级密钥列表->三级密钥列表->实际文件

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

有人能指出用java怎么做吗


谢谢

我建议您浏览以下链接:

假设您的存储桶中有这样的层次结构:

"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,这将为您提供一个ObjectList,在通用前缀列表中有两个条目,即“foo/bar/”和“foo/boo/”。然后,您可以将已知的第三个键(如“bash”)附加到这些字符串中的每一个,并再次使用listObjects()api获取您的所有对象。

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