Python Can';t使用boto3更新路由53上的DNS记录
我正在尝试使用AWS Route 53、python3和boto3创建一个动态DNS更新程序脚本。其功能如下:Python Can';t使用boto3更新路由53上的DNS记录,python,dns,amazon-route53,boto3,Python,Dns,Amazon Route53,Boto3,我正在尝试使用AWS Route 53、python3和boto3创建一个动态DNS更新程序脚本。其功能如下: 从internet服务检索计算机IP 在路由53 DNS中检索当前IP 检查它们是否匹配(如果匹配,则退出) 更新DNS(用当前IP替换旧IP) 步骤4不起作用。代码如下my_ip包含如下字符串:1.2.3.4。我尝试直接用字符串(“Value”:“1.2.3.4”)替换它,但这并没有修复错误hosted_zone_id是正确的,因为它已用于提取IP地址记录的名称是“microbug.
my_ip
包含如下字符串:1.2.3.4
。我尝试直接用字符串(“Value”:“1.2.3.4”
)替换它,但这并没有修复错误hosted_zone_id
是正确的,因为它已用于提取IP地址<代码>记录的名称是“microbug.uk。”
这是它抛出的错误:
Traceback (most recent call last):
File "update-dns.py", line 42, in <module>
"Value": my_ip
File "/usr/lib/python3.5/site-packages/botocore/client.py", line 278, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/usr/lib/python3.5/site-packages/botocore/client.py", line 572, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid request
我解决了这个问题。只能为基于延迟的记录集设置
区域
选项;注释解决了这个问题。你能用我们的凭据粘贴这个文件的内容吗~/.aws/config,我的ip应该用双引号或单引号引起来。@error2007s我发布了这个文件。my_ip是脚本中其他位置设置的变量,带有字符串值(例如,my_ip=“8.8.8.8”
)。
Traceback (most recent call last):
File "update-dns.py", line 42, in <module>
"Value": my_ip
File "/usr/lib/python3.5/site-packages/botocore/client.py", line 278, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/usr/lib/python3.5/site-packages/botocore/client.py", line 572, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid request
$ cat ~/.aws/config
[default]
region = eu-west-1
output = json