当前位置:  开发笔记 > 编程语言 > 正文

AWS Route 53使用boto3列出CNAME记录

如何解决《AWSRoute53使用boto3列出CNAME记录》经验,为你挑选了1个好方法。

我想列出某个托管区域中的所有CNAME记录。假设我的托管区域中有400多个记录。我正在使用boto3

response_per_zone = client.list_resource_record_sets(HostedZoneId=Id, MaxItems='100')

该命令列出了所有类型的100条记录。缺少许多CNAME记录。
如何遍历所有记录,以便可以列出所有CNAME记录?



1> Serban Cezar..:

您应该只使用AWS提供的官方分页器方法:https : //boto3.readthedocs.io/en/latest/reference/services/route53.html#Route53.Paginator.ListResourceRecordSets

不管记录数量如何,列出CNAME记录的示例代码:

#!/usr/bin/env python3

paginator = client.get_paginator('list_resource_record_sets')

try:
    source_zone_records = paginator.paginate(HostedZoneId='HostedZoneId')
    for record_set in source_zone_records:
        for record in record_set['ResourceRecordSets']:
            if record['Type'] == 'CNAME':
                print(record['Name'])

except Exception as error:
    print('An error occurred getting source zone records:')
    print(str(error))
    raise

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有