Назад | Перейти на главную страницу

Ошибка при попытке использовать aws cli и ведра с точками

Я использую aws cli (aws-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, периоды в порядке, и у меня нет проблем с доступом к корзинам через веб-сайт.

Была такая же проблема сегодня. В решении указывается ваш регион.

Что не работало:

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 должен быть регионом по умолчанию. в моем случае я ввел:

us-east-1

Теперь мне больше не нужно указывать регион, если сегмент не находится за пределами моего региона по умолчанию.

... Я столкнулся с аналогичной проблемой со своей учетной записью.

Я обнаружил (методом проб и ошибок), что когда я использовал неправильный идентификатор региона, я получал ошибку Errno 8.

Вот что сработало:

  • us-west-2

Вот что не сработало:

  • США-запад
  • us-west-2a

Я не смог найти какой-либо исчерпывающей помощи о том, что будет работать (или не работать) при указании идентификатора региона, поэтому этот ответ является полностью эмпирическим и может помочь не во всех случаях.