我正在尝试使用awssdk将备份上传到Amazon s3-一切正常,但仅适用于美国服务器。我位于EU中,我想使用EU服务器,但是当我尝试执行任何与存储桶相关的操作(例如ListObjects)时,它会在一段时间后失败并显示以下消息:

达到最大重试次数:3

awssdk使用的网址是https://s3.amazonaws.com/algorim.eutest/,这似乎是个问题,因为它返回以下xml:

<Error>
    <Code>PermanentRedirect</Code>
    <Message>
        The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
    </Message>
    <RequestId>89A688C2DF03C1BC</RequestId>
    <Bucket>algorim.eutest</Bucket>
    <HostId>
        AN27BUv30i4UCE4WkQqgqGUdNm12OaDQkB+/r0cKowb2VOduniIOZXYIngvE2lSj
    </HostId>
    <Endpoint>algorim.eutest.s3.amazonaws.com</Endpoint>
</Error>

而美国服务器上的同一种网址会导致
<Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied</Message>
    <RequestId>EE2307DE5E5815FD</RequestId>
    <HostId>
        J0tmOtg9xvUvC2T1CRvQcU2MJdOsXBCRYJexvhIgpbDwPfc3PpNCUNv/USatebyy
    </HostId>
</Error>

这是预期的答案。基本上,.net awssdk似乎无法跟随重定向并退出。有没有解决此问题的方法,而无需自己编写或使用第三方第三方Web服务包装器?

使用的awssdk版本是1.3.13.0

最佳答案

据我了解,您必须使用EU特定的终结点(s3-eu-west-1.amazonaws.com)来处理EU数据中心中的数据。

关于.net - Amazon S3 .net SDK,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7367380/

10-10 06:46