Erro ao tentar usar aws cli e buckets com períodos

1

Estou usando o aws cli ( aws-cli/1.3.23 Python/2.7.5 Darwin/13.2.0 ) para acessar meus depósitos s3 e ele está falhando com o seguinte erro se o nome do depósito for um período.

$ 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)

Tudo funciona bem se o balde não tiver períodos:

$ aws s3 ls s3://mybucket

De acordo com a aws docs, os períodos são bons e não tenho problemas em acessar os intervalos através do site.

    
por Roger Gilbrat 24.07.2014 / 22:53

2 respostas

4

Tive esse mesmo problema hoje. A solução está especificando sua região.

O que não estava funcionando:

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

O que funciona agora:

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

EDITAR: Se todos os seus buckets existirem nas mesmas regiões, vá para a linha de comando (no OSX):

aws configure

Se você não tiver fornecido suas chaves da AWS, faça isso. A questão 3 deve ser região padrão. no meu caso eu entrei:

us-east-1

Agora não preciso mais especificar a região, a menos que o intervalo esteja fora da minha região padrão.

    
por 05.08.2014 / 17:13
2

... encontrei um problema semelhante com a minha conta.

Eu encontrei (através de tentativa e erro) que quando eu usei o identificador de região errado, eu estava recebendo o Errno 8.

Veja o que funcionou:

  • us-west-2

Veja o que não funcionou:

  • us-west
  • us-west-2a

Não consegui encontrar nenhuma ajuda definitiva sobre o que funcionaria (ou não) ao especificar um identificador de região, portanto, essa resposta é completamente empírica e pode não ajudar em todos os casos.

    
por 24.01.2015 / 21:51