aws s3api create-bucket --bucket dev-xxxx-com-state --region us-east-2
A client error (IllegalLocationConstraintException) occurred when calling the CreateBucket operation: The unspecified location constraint is incompatible for the region specific endpoint this request was sent to.
Works fine with us-east-1.
aws --version
aws-cli/1.7.45 Python/2.7.10 Darwin/16.5.0
Even though I used LocationConstraint but ended up getting exceptions , checking details of parameter suggest we have finite list for location. I can use AWS web console to create bucket with region as us-east-2 but can't create bucket through awscli create-bucket even after using locationconstraint with region as us-east-2.
{
"LocationConstraint": "EU"|"eu-west-1"|"us-west-1"|"us-west-2"|"ap-south-1"|"ap-southeast-1"|"ap-southeast-2"|"ap-northeast-1"|"sa-east-1"|"cn-north-1"|"eu-central-1"
}
mb seems to be alternate method and going to try that but awscli create-bucket should fix this inconsistency.
Bump.
Facing same problem with duplicity / boto here... (eu-central-1)
On Bucket creation attempt I get:
<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>
If I create the Bucket manually everything is working fine...
Please have a look at your log files...
I fixed it in 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}
)
For those of you looking to create a bucket via the CLI, run this:
aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2
Posting this here for posterity. Bucket names are GLOBALLY unique! AWS CLI will give you the IllegalLocationConstraintException
if you collide with an already existing bucket and you've specified a region different than the region of the already existing bucket. If you happen to guess the correct region of the existing bucket it will give you the BucketAlreadyExists
exception.
@thetomasz I can't believe my luck that you posted this 21 hours before I had exactly the same issue. Thank you so much; this was exactly my problem.
the following doesnt work for me:
aws s3api create-bucket --bucket avengers-docker-eb --region us-east-1 --create-bucket-configuration LocationConstraint=us-east-1
error:
An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The us-east-1 location constraint is incompatible for the region specific endpoint this request was sent to.
@thetomasz thank you so much for your post! I wish I had first seen your post before finally figured this out myself. The message is truly confusing, even misleading.
To find out if a name is already taken and figure out which region, if it's indeed taken, the bucket is located in, look at the DNS record of the name "your-bucket-name.s3.amazonaws.com". For example:
$ 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
Well this explains why my bucket name of "testbucket" wouldn't go through ;) Thanks guys.
I had the same issue. Using aws s3 mb s3://<bucket-name> --region us-east-2
worked for me.
I just encountered this bug, myself. Come on AWS. Fix it. If the error is a global naming collision, then say so.
I get this error when I do Put Bucket encryption in my lambda script. Can someone help
An error occurred (IllegalLocationConstraintException) when calling the PutBucketEncryption operation: The ap-east-1 location constraint is incompatible for the region specific endpoint this request was sent to.: ClientError
For those of you looking to create a bucket via the CLI, run this:
aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2
worked for me
For everyone trying to create the bucket in us-east-1 just change the --region us-east-2 and it created perfectly and was visible in my aws console.
Even its worked for me after passing """"--create-bucket-configuration LocationConstraint=us-west-2"""' parameter options
aws s3api create-bucket --bucket my-bucket-name --region us-west-2 --create-bucket-configuration LocationConstraint=us-west-2
Most helpful comment
For those of you looking to create a bucket via the CLI, run this: