[英]Listing sub folders files path in an s3 bucket
我有一個s3結構,如下所示:
s3bucketname->一級密鑰列表->二級密鑰列表->二級密鑰列表->實際文件。
我需要做的是,給定s3bucket的名稱以及第一級密鑰和第三級密鑰的條目,我需要限定該條件的所有文件的路徑,即第二級密鑰的某種通配符
有人可以指出如何在Java中執行此操作嗎?
謝謝
我建議您瀏覽以下鏈接: http : //docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html#listObjects%28com.amazonaws.services.s3。 model.ListObjectsRequest%29
假設您的存儲桶中具有這樣的層次結構:
"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獲取所有對象。
坦率地說,最簡單的方法是獲取具有已知前綴的所有對象的列表。 然后,讓您的代碼查看返回的鍵,以找出所需的鍵。 這將減少對AWS的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.