相关疑难解决方法(0)

如何使用AWS S3 API非递归地浏览目录的内容?

假设我在Amazon S3存储桶中有以下目录和文件(文件以粗体显示):

  • bucketname /
  • bucketname /文件夹1 /
  • bucketname/folder1/foob​​ar.txt
  • bucketname /文件夹1/subfolder1 /
  • bucketname/folder1/subfolder1/hello.txt
  • bucketname /文件夹1/subfolder2 /
  • bucketname/folder1/subfolder2/world.txt
  • bucketname /文件夹1/subfolder2/subsubfolder1 /
  • bucketname/folder1/subfolder2/subsubfolder1/file.txt

如何使用.NET AWS S3 API 列出给定目录的所有对象和直接子目录,而不递归获取该目录下的所有内容?换句话说,如何在单个级别"浏览"目录的内容?

例如,想象一下我想要浏览的内容bucketname/folder1/.我想看到的是以下内容:

  • bucketname/folder1/foob​​ar.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 …
Run Code Online (Sandbox Code Playgroud)

.net c# amazon-s3

12
推荐指数
1
解决办法
8902
查看次数

标签 统计

.net ×1

amazon-s3 ×1

c# ×1