Soy principiante en Boto3 y estoy trabajando en la certificación de desarrollador de AWS. Estoy tratando de crear un depósito S3 en mi cuenta. A continuación se muestra mi código
#!/usr/bin/python import boto3 from boto3.session import Session session = Session(aws_access_key_id='asd',aws_secret_access_key='asdas') s3 = session.resource('s3') s3.create_bucket(Bucket='myfbucket789076541253334')region_name='ap-south-1' Luego probé un montón de otros desde este enlace pero no me ayudó https://docs.aws.amazon.com/general/latest/gr/rande.html
Mi código se ve así ahora
#!/usr/bin/python import boto3 from boto3.session import Session session = Session(aws_access_key_id='xyz',aws_secret_access_key='+af',region_name='eu-west-1') s3 = session.resource('s3') s3.create_bucket(Bucket='myfbucket789076541253334')Me sale el siguiente error:
Traceback (most recent call last): File "S3_bucket.py", line 6, in <module> s3.create_bucket(Bucket='myfbucket789076541253334') File "/Users/xvz/.local/lib/python3.6/site-packages/boto3/resources/factory.py", line 520, in do_action response = action(self, *args, **kwargs) File "/Users/xvz/.local/lib/python3.6/site-packages/boto3/resources/action.py", line 83, in __call__ response = getattr(parent.meta.client, operation_name)(**params) File "/Users/xvz/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 314, in _api_call return self._make_api_call(operation_name, kwargs) File "/Users/xvz/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 612, in _make_api_call raise error_class(parsed_response, operation_name) botocore.exceptions.ClientError: An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constrai nt is incompatible for the region specific endpoint this request was sent to.Gracias por su ayuda y sugerencias.
De https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html
Las regiones fuera de us-east-1 requieren que se especifique la LocationConstraint adecuada para crear el depósito en la región deseada
Creo que debe especificar la restricción de ubicación cuando crea el depósito. Aquí hay un fragmento de http://boto3.readthedocs.io/en/latest/reference/services/s3.html
response = client.create_bucket( ... CreateBucketConfiguration={ 'LocationConstraint': 'eu-west-1' }, ... )