boto3 Route53 抱怨无法连接到端点 URL:
boto3 Route53 complains Could not connect to the endpoint URL:
我试图让一些 Route53 自动化与 boto 一起工作,并注意到这个微型 boto3(版本 1.3.1)示例:
import boto3
client = boto3.client('route53')
print client.list_hosted_zones()
因投诉而爆发:
File "... venv/lib/python2.7/site-packages/botocore/retryhandler.py", line 356, in _check_caught_exception
raise caught_exception
botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL: "https://route53.us-east-1e.amazonaws.com/2013-04-01/hostedzone"
虽然这个类似的 boto2(使用版本 2.38.0)代码似乎工作正常:
from boto.route53.connection import Route53Connection
r53_conn = Route53Connection()
print r53_conn.get_all_hosted_zones()
并打印出有关我的托管区域的信息字典。如果我试图哄骗 boto3 使用端点 suggested by Amazon(即使默认情况下 boto3 似乎应该知道如何执行此操作...),如下所示:
client = boto3.client('route53', endpoint_url='https://route53.amazonaws.com')
我收到这个错误:
File "... venv/lib/python2.7/site-packages/botocore/client.py", line 572, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (SignatureDoesNotMatch) when calling the ListHostedZones operation: Credential should be scoped to a valid region, not 'us-east-1e'.
我需要做些什么来教 boto3 如何正确地与 Route53 对话,为什么 boto2 似乎知道如何自动做到这一点?
感谢这个回答
您需要做的就是配置 ~/.aws/config
文件。
看来你没有配置或配置不正确。
我试图让一些 Route53 自动化与 boto 一起工作,并注意到这个微型 boto3(版本 1.3.1)示例:
import boto3
client = boto3.client('route53')
print client.list_hosted_zones()
因投诉而爆发:
File "... venv/lib/python2.7/site-packages/botocore/retryhandler.py", line 356, in _check_caught_exception raise caught_exception botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL: "https://route53.us-east-1e.amazonaws.com/2013-04-01/hostedzone"
虽然这个类似的 boto2(使用版本 2.38.0)代码似乎工作正常:
from boto.route53.connection import Route53Connection
r53_conn = Route53Connection()
print r53_conn.get_all_hosted_zones()
并打印出有关我的托管区域的信息字典。如果我试图哄骗 boto3 使用端点 suggested by Amazon(即使默认情况下 boto3 似乎应该知道如何执行此操作...),如下所示:
client = boto3.client('route53', endpoint_url='https://route53.amazonaws.com')
我收到这个错误:
File "... venv/lib/python2.7/site-packages/botocore/client.py", line 572, in _make_api_call raise ClientError(parsed_response, operation_name) botocore.exceptions.ClientError: An error occurred (SignatureDoesNotMatch) when calling the ListHostedZones operation: Credential should be scoped to a valid region, not 'us-east-1e'.
我需要做些什么来教 boto3 如何正确地与 Route53 对话,为什么 boto2 似乎知道如何自动做到这一点?
感谢这个回答~/.aws/config
文件。
看来你没有配置或配置不正确。