当我尝试使用AWS软件开发工具包使用AWS软件开发人员网站上提供的高级API代码上传大文件时,我无法这样做,尽管我提供了正确的参数,但应用程序因意外错误而停止。
这是我的代码:
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上传大文件?
答案 0 :(得分:1)
只需将我的应用从 .Net版本4.0 升级到 .Net版本4.5 ,就可以了。