【发布时间】:2020-03-29 22:36:37
【问题描述】:
我正在使用 TransferUtilityDownload 和 TransferUtilityDownloadDirectory 下载文件和完整目录。但是,即使我使用相同的存储桶名称格式,它也适用于单个文件但不适用于目录并返回 403 Access Denied。 (列出对象时同样的问题):
string bucketName = "my-bucket-us-east-1-prod";
string UnscheduledIn = "abc/butter/input_butter_11nov2019/unscheduled";
AmazonS3Client client = new AmazonS3Client(RegionEndpoint.USEast1);
// request for object download
var request = new TransferUtilityDownloadRequest();
// request for directory download
var drequest = new TransferUtilityDownloadDirectoryRequest();
//This request for single file download
request.BucketName = bucketName + "/" + UnscheduledIn;
request.FilePath = "D:\\input\\" + "test.csv";
request.Key = "test.csv";
//This request for directory download
drequest.BucketName = bucketName + "/" + UnscheduledIn;
drequest.S3Directory = "unscheduled";
drequest.LocalDirectory = "D:\\input\\";
drequest.DownloadFilesConcurrently = true;
TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(RegionEndpoint.USEast1));
// This one works
fileTransferUtility.Download(request);
// This one does not work
fileTransferUtility.DownloadDirectory(drequest);
403 Access Denied 错误通常是由于错误的存储桶或目录名称(如果请求找不到存储桶或目录,这是一个已知问题)。但是存储桶名称和目录名称是正确的。我想知道是否缺少格式或设置某些属性?
快速注意此版本也返回相同的 403 错误:
//This request for directory download
drequest.BucketName = bucketName;
drequest.S3Directory = UnscheduledIn;
drequest.LocalDirectory = "D:\\input\\";
drequest.DownloadFilesConcurrently = true;
【问题讨论】:
标签: c# amazon-web-services amazon-s3 amazon-ec2 access-denied