使用 aws sdk multipart upload 上传大文件
Upload large files using aws sdk multipart upload
虽然我尝试使用 AWS 网站上使用 AWS SDK 提供的高级 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上传大文件?
只需将我的应用程序从 .Net 版本 4.0 升级到 .Net 版本 4.5 即可。
虽然我尝试使用 AWS 网站上使用 AWS SDK 提供的高级 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上传大文件?
只需将我的应用程序从 .Net 版本 4.0 升级到 .Net 版本 4.5 即可。