Aws-cli: aws s3api create-bucket выдает ошибку для us-east-2

Созданный на 12 мая 2017  ·  16Комментарии  ·  Источник: aws/aws-cli

aws s3api create-bucket --bucket dev-xxxx-com-state --region us-east-2

Ошибка клиента (IllegalLocationConstraintException) при вызове операции CreateBucket: неуказанное ограничение местоположения несовместимо с конечной точкой конкретного региона, в которую был отправлен этот запрос.

Отлично работает с us-east-1.

aws --версия
aws-cli/1.7.45 Python/2.7.10 Дарвин/16.5.0

documentation guidance s3api service-api

Самый полезный комментарий

Для тех из вас, кто хочет создать корзину через CLI, запустите это:

aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2

Все 16 Комментарий

Вам необходимо указать ограничение местоположения для каждого региона, кроме us-east-1 . См. документы для примеров.

Кроме того, вы можете использовать mb , который сделает это за вас.

Несмотря на то, что я использовал LocationConstraint, но в итоге получил исключения, проверка деталей параметра предполагает, что у нас есть конечный список для местоположения. Я могу использовать веб-консоль AWS для создания ведра с регионом как us-east-2, но не могу создать ведро с помощью awscli create-bucket даже после использования ограничения местоположения с регионом как us-east-2.

{
"LocationConstraint": "EU"|"eu-west-1"|"us-west-1"|"us-west-2"|"ap-sug-1"|"ap-southeast-1"|"ap -юго-восток-2"|"ap-северо-восток-1"|"sa-восток-1"|"cn-север-1"|"eu-центральный-1"
}

mb кажется альтернативным методом, и я собираюсь попробовать его, но awscli create-bucket должен исправить это несоответствие.

Удар.

Столкнулся с той же проблемой с дублированием / boto здесь... (eu-central-1)
При попытке создания Bucket я получаю:

<Error><Code>IllegalLocationConstraintException</Code><Message>The EU location constraint is incompatible for the region specific endpoint this request was sent to.</Message><RequestId>237A164CEBB07087</RequestId><HostId>oEDaB4OT/MlUGIJ0j1GJH7ezXqldUZa2sFKRPz3iHqAZsnpOyKiRGDV69hP/FTXK1j90ogcJB/Y=</HostId></Error>

Если я создаю ведро вручную, все работает нормально...

Пожалуйста, взгляните на свои лог-файлы...

Я исправил это в Boto3:

os.environ['AWS_DEFAULT_REGION'] = 'eu-west-2'
myS3 = boto3.resource('s3')
results = myS3.create_bucket(
                             Bucket='zxvxdvx.gsdrgerrrczxczxcgggzxczxczxc',
                             CreateBucketConfiguration={'LocationConstraint': AWS_DEFAULT_REGION}
                            )

Для тех из вас, кто хочет создать корзину через CLI, запустите это:

aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2

Выкладываю это сюда для потомков. Имена сегментов уникальны во всем мире! AWS CLI выдаст вам IllegalLocationConstraintException , если вы столкнетесь с уже существующей корзиной и указали регион, отличный от региона уже существующей корзины. Если вам удастся угадать правильный регион существующей корзины, это даст вам исключение BucketAlreadyExists .

@thetomasz Я не могу поверить в свою удачу, что вы опубликовали это за 21 час до того, как у меня возникла точно такая же проблема. Большое спасибо; это была именно моя проблема.

следующее не работает для меня:
aws s3api create-bucket --bucket avengers-docker-eb --region us-east-1 --create-bucket-configuration LocationConstraint=us-east-1

ошибка:
Произошла ошибка (IllegalLocationConstraintException) при вызове операции CreateBucket: ограничение местоположения us-east-1 несовместимо с конечной точкой конкретного региона, в которую был отправлен этот запрос.

@thetomasz большое спасибо за ваш пост! Хотел бы я сначала увидеть ваш пост, прежде чем, наконец, понял это сам. Сообщение действительно сбивает с толку, даже вводит в заблуждение.

Чтобы узнать, занято ли уже имя, и выяснить, в каком регионе, если оно действительно занято, находится корзина, посмотрите на DNS-запись имени «your-bucket-name.s3.amazonaws.com». Например:

$ dig test8765.s3.amazonaws.com

; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> test8765.s3.amazonaws.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39766
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;test8765.s3.amazonaws.com. IN  A

;; ANSWER SECTION:
test8765.s3.amazonaws.com. 2016 IN  CNAME   s3-us-west-2-w.amazonaws.com.
s3-us-west-2-w.amazonaws.com. 5 IN  A   52.218.216.10

;; Query time: 16 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Thu Jan 03 15:16:11 AEDT 2019
;; MSG SIZE  rcvd: 99

Что ж, это объясняет, почему мое имя корзины "testbucket" не пройдет ;) Спасибо, ребята.

Я была такая же проблема. Использование aws s3 mb s3://<bucket-name> --region us-east-2 сработало для меня.

Я только что столкнулся с этой ошибкой, сам. Давай АВС. Почини это. Если ошибка связана с глобальным конфликтом имен, скажите об этом.

Я получаю эту ошибку, когда делаю шифрование Put Bucket в своем лямбда-скрипте. Может ли кто-нибудь помочь

Произошла ошибка (IllegalLocationConstraintException) при вызове операции PutBucketEncryption: ограничение местоположения ap-east-1 несовместимо с конечной точкой региона, в которую был отправлен этот запрос.: ClientError

Для тех из вас, кто хочет создать корзину через CLI, запустите это:

aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2

работал на меня

Для всех, кто пытается создать ведро в us-east-1, просто измените --region us-east-2, и он отлично создастся и будет виден в моей консоли aws.

Даже у меня это сработало после передачи опций параметров """"--create-bucket-configuration LocationConstraint=us-west-2"""'

aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2

Была ли эта страница полезной?
0 / 5 - 0 рейтинги