我正在尝试使用awssdk将备份上传到亚马逊S3,所有操作都非常顺利,但仅限于美国服务器。由于我位于欧盟,我想使用欧盟服务器,但是当我尝试执行任何与bucket相关的操作(例如
ListObjects
)时,它会在一段时间后失败,并显示以下消息:awssdk使用的URL是Maximum number of retry attempts reached : 3
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>
而同样类型的URL在美国服务器上会导致
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>EE2307DE5E5815FD</RequestId>
<HostId>
J0tmOtg9xvUvC2T1CRvQcU2MJdOsXBCRYJexvhIgpbDwPfc3PpNCUNv/USatebyy
</HostId>
</Error>
预期答案是什么?基本上看起来 .net awssdk 无法遵循重定向并退出。有没有什么方法可以避免编写自己的代码或使用第三方 Amazon Web Service 包装器而解决此问题?
使用的 awssdk 版本为 1.3.13.0