Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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
Python Can';t使用boto3更新路由53上的DNS记录_Python_Dns_Amazon Route53_Boto3 - Fatal编程技术网

Python Can';t使用boto3更新路由53上的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.

我正在尝试使用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.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