【发布时间】:2016-06-06 21:07:31
【问题描述】:
当我尝试使用 AWS 网站上提供的高级 API 代码使用 AWS 开发工具包上传一个大文件时,我无法这样做,并且应用程序因意外错误而停止,尽管我提供了正确的参数。
这是我的代码:
static string existingBucketName = "xxxxxxxxxxxxxxxx";
static string keyName = "filename";
static string filePath = "D:\file.txt";
try
{
TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(Amazon.RegionEndpoint.USEast1));
TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
BucketName = existingBucketName,
FilePath = filePath,
StorageClass = S3StorageClass.ReducedRedundancy,
PartSize = 6291456, // 6 MB.
Key = keyName,
CannedACL = S3CannedACL.PublicRead
};
fileTransferUtilityRequest.Metadata.Add("param1", "Value1");
fileTransferUtilityRequest.Metadata.Add("param2", "Value2");
fileTransferUtility.Upload(fileTransferUtilityRequest);
Console.WriteLine("Upload 4 completed");
}
catch (AmazonS3Exception s3Exception)
{
Console.WriteLine(s3Exception.Message, s3Exception.InnerException);
}
使用低级 API 上传时,相同的文件会正确上传,但需要很多时间。所以我希望高级 API 可以更快地上传它。或者有没有其他使用SDK上传大文件的方法?
【问题讨论】: