Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 为什么在使用regional endpoint时boto3.client中的某些aws服务需要region_名称?_Amazon Web Services_Boto3_Aws Regions - Fatal编程技术网

Amazon web services 为什么在使用regional endpoint时boto3.client中的某些aws服务需要region_名称?

Amazon web services 为什么在使用regional endpoint时boto3.client中的某些aws服务需要region_名称?,amazon-web-services,boto3,aws-regions,Amazon Web Services,Boto3,Aws Regions,如果我们已经在使用区域端点,为什么我们需要提供区域名称 而且,如果我没有为sqs指定区域\u名称,那么它将给出一个错误(NoRegionError:您必须指定一个区域)。为s3创建客户端时,不需要区域名称 client = boto3.client( "sqs", aws_access_key_id=key_id, aws_secret_access_key=secret_key, aws_session_token=token, en

如果我们已经在使用区域端点,为什么我们需要提供区域名称

而且,如果我没有为sqs指定区域\u名称,那么它将给出一个错误
(NoRegionError:您必须指定一个区域)
。为s3创建客户端时,不需要区域名称

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
    )

因为
region\u name
用于在botocore中构造端点URL,但它不是AWS拥有多个区域之前存在的.S3。我猜是向后兼容。