說我有以下目錄和文件在亞馬遜S3存儲桶(文件是在大膽):如何使用AWS S3 API非遞歸瀏覽目錄的內容?
- bucketname/
- bucketname /文件夾1/
- bucketname /文件夾1/foobar.txt
- bucketname/folder1中/ subfolder1/
- bucketname/folder1中/ subfolder1/hello.txt的
- bucketname/folder1中/ subfolder2/
- bucketname/folder1中/ subfolder2/world.txt
- bucketname/folder1中/ subfolder2/subsubfolder1/
- bucketname/folder1中/ subfolder2/subsubfolder1/file.txt的
如何列出的所有對象和與.NET AWS S3 API指定目錄的直接子目錄,沒有遞歸獲得該d下的所有內容irectory?換句話說,我怎樣才能「瀏覽」一個目錄中的內容?
例如,想象一下我想瀏覽bucketname/folder1/
的內容。我想看到的是以下內容:
- bucketname /文件夾1/foobar.txt
- bucketname /文件夾1/subfolder1/
- bucketname /文件夾1/subfolder2/
。 ..沒有別的。我不想列出子目錄中的文件和目錄,我只想列出folder1
級別的文件和子目錄。
有沒有辦法將過濾器應用到單個AWS API調用,以便它不會返回的所有內容並強制我僅手動解析我需要的內容?
我發現這個代碼讓我得到的只是眼前的子目錄(如預期),但我無法弄清楚如何將立即文件太:
var request = new ListObjectsRequest()
.WithBucketName("bucketname")
.WithPrefix(@"folder1/")
.WithDelimiter(@"/");
using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey))
using (var response = client.ListObjects(request))
{
foreach (var item in response.CommonPrefixes)
{
/* ... */
}
}