#amazon-web-services #boto3 #aws-regions
#amazon-web-services #boto3 #aws-регионы
Вопрос:
Зачем нам нужно указывать region_name, если мы уже используем региональные конечные точки?
А также, если я не укажу region_name для sqs, это выдаст ошибку (NoRegionError : You must specify a region)
. При создании клиента для s3 region_name не требуется.
client = boto3.client(
"sqs",
aws_access_key_id=key_id,
aws_secret_access_key=secret_key,
aws_session_token=token,
endpoint_url="https://sqs.us-east-1.amazonaws.com",
region_name="us-east-1", # For some reason region name is required here
)
client = boto3.client(
"s3",
aws_access_key_id=key_id,
aws_secret_access_key=secret_key,
aws_session_token=token,
endpoint_url="https://s3.ap-south-1.amazonaws.com", # While this works perfect
)
Комментарии:
1. Потому
region_name
что используется для создания URL-адреса конечной точки в botocore, но это не наоборот.2. S3 существовал до того, как в AWS было несколько регионов. Я предполагаю обратную совместимость.