【问题标题】:Python boto3 route53 simple example errorsPython boto3 route53 简单示例错误
【发布时间】:2017-10-27 04:11:07
【问题描述】:

下面的脚本(简化的虚构区域/zoneid)在运行时会出现错误

botocore.errorfactory.InvalidInput:调用ChangeResourceRecordSets操作时发生错误(InvalidInput):无效请求

#!/usr/bin/python3.3

import boto3

ipaddress = '10.32.24.82'

zoneid = 'Z3GJIR73GHRHXX'
response = boto3.client('route53').change_resource_record_sets(
     HostedZoneId=zoneid,
     ChangeBatch={
       'Comment': 'swarm manager',
       'Changes': [
         {
             'Action': 'UPSERT',
                       'ResourceRecordSet':
                    {
                     'TTL': 600,
                     'Name': 'www.giganticwasteoftime.com.',
                     'SetIdentifier': 'abc1',
                     'Type': 'A'
                     'ResourceRecords':
                         [{'Value': ipaddress}, ],
                    }
         }, ]
    }
)
print(response)

我之前已经成功地编写了 python 脚本来查询 route53,但我之前从未写过它

我在 boto3 上执行了 pip install --update 但在这些版本的 python 模块中得到完全相同的错误: boto3-1.4.4 botocore-1.5.56 docutils-0.13.1 jmespath-0.9.2 python-dateutil-2.6.0 s3transfer-0.1.10

【问题讨论】:

    标签: python amazon-web-services boto3


    【解决方案1】:

    这不是 python 库的问题,错误来自 AWS。在您的请求中省略 SetIdentifier,因为您正在创建 A 记录;如果域 www.giganticwasteoftime.com 存在,它应该可以工作。

    来自boto3 docs

    设置标识符(字符串)--

    仅限加权、延迟、地理和故障转移资源记录集:用于区分具有相同 DNS 名称和类型组合的多个资源记录集的标识符。对于具有相同 DNS 名称和类型组合的每个资源记录集,SetIdentifier 的值必须是唯一的。省略任何其他类型的记录集的 SetIdentifier。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多