从 amazon s3 buckets 子文件夹 .Net 获取文件

Get files from amazon s3 buckets sub folder .Net

我正在像这样从 amazon s3 下载一些文件

 private static readonly IAmazonS3 _amazonS3Client = AWSClientFactory.CreateAmazonS3Client(
        AccessKey,
        SecretKey,
        Config
        );
  var request = new ListObjectsRequest {BucketName = BucketName};

        ListObjectsResponse response = _amazonS3Client.ListObjects(request);
        foreach (S3Object o in response.S3Objects)
        {
            var objRequest = new GetObjectRequest
            {
                BucketName = BucketName,
                Key = o.Key

            };
            GetObjectResponse objResponse = _amazonS3Client.GetObject(objRequest);
            objResponse.WriteResponseStreamToFile(ConfigurationManager.AppSettings["TargetLocation"] + o.Key);
        }

效果很好,现在我在 Bucket 中创建了一个文件夹,我只想下载该 bucket 中的文件。谁能指出实现这一目标的正确方法?

只需将您的存储桶名称设置为:bucketname/foldername。

因此,如果您有一个名为 'MyBucket' 的存储桶,并且该存储桶中有一个名为 MyFolder 的文件夹,那么您会这样做:

var objRequest = new GetObjectRequest
            {
                BucketName = "MyBucket/MyFolder",
                Key = o.Key

            };