尝试使用aws cli和带句点的桶时出错

我正在使用aws cliaws-cli/1.3.23 Python/2.7.5 Darwin/13.2.0 )来访问我的s3存储桶,并且如果存储桶名称为句点,则会出现以下错误。

 $ aws s3 ls s3://my.bucket HTTPSConnectionPool(host='s3-us-east-1a.amazonaws.com', port=443): Max retries exceeded with url: /my.bucket?delimiter=/&prefix= (Caused by <class 'socket.gaierror'>: [Errno 8] nodename nor servname provided, or not known) 

一切工作正常,如果桶没有时期:

 $ aws s3 ls s3://mybucket 

根据aws文档,时期是好的,我没有问题通过网站访问桶。

今天有这个相同的问题。 解决scheme是指定您的区域。

什么不工作:

 aws s3 sync --acl public-read dist/ s3://some.bucket.name/ 

现在什么工作:

 aws s3 --region us-east-1 sync --acl public-read dist/ s3://some.bucket.name/ 

编辑:如果你所有的桶将存在于相同的地区,去命令行(在OSX):

 aws configure 

如果您还没有提供您的AWS密钥,那就这样做。 问题#3应该是默认区域。 在我的情况下,我input:

 us-east-1 

现在我不再需要指定区域,除非这个桶在我的默认区域之外。

…我遇到了与我的帐户类似的问题。

我发现(通过试验和错误),当我使用错误的地区标识符,我得到了Errno 8。

这是什么工作:

  • 美西2

以下是不起作用的:

  • 美国中西部
  • 美西-2A

在指定区域标识符时,我找不到任何明确的帮助,因此这个答案完全是经验性的,在所有情况下都可能不起作用。