使用以下代码将 gzip 文件上传到 S3:
class Program
{
public static AWSCredentials credentials;
static Program()
{
var chain = new CredentialProfileStoreChain();
if (!chain.TryGetAWSCredentials("awsConfig", out credentials))
throw new Exception("AWS Credentials not found!!");
}
static void Main(string[] args)
{
var filePath = $@"C:\temp\test.gz";
UploadFile("myBucket", filePath, "test");
}
private static void UploadFile(string bucketName, string filePath, string prefixKey)
{
TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(credentials, Amazon.RegionEndpoint.USEast1));
TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
BucketName = bucketName,
FilePath = filePath,
Key = prefixKey,
};
fileTransferUtility.Upload(fileTransferUtilityRequest);
Console.WriteLine("Upload completed");
}
}
我收到错误写操作失败,请参阅内部异常,其中内部异常为System.Net.Http.WinHttpException:与服务器的连接异常终止
我认为这可能是网络问题,所以我将应用程序上传到与存储桶位于同一区域的 EC2 实例,但仍然出现相同的错误。
文件 test.gz 是一个 gzip 压缩文件,大小为 274kb。
此问题仅发生在某些以相同方式压缩的文件中。
这个错误的原因可能是什么?
让我知道您是否需要该文件进行测试。
这是完整的堆栈跟踪:https ://pastebin.com/RJ8QSmSK