3

使用以下代码将 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

4

0 回答 0