Я использую 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.
Вот что сработало:
Вот что не сработало:
Я не смог найти какой-либо исчерпывающей помощи о том, что будет работать (или не работать) при указании идентификатора региона, поэтому этот ответ является полностью эмпирическим и может помочь не во всех случаях.