从 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
};
我正在像这样从 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
};