我想列出某个托管区域中的所有CNAME记录。假设我的托管区域中有400多个记录。我正在使用boto3
:
response_per_zone = client.list_resource_record_sets(HostedZoneId=Id, MaxItems='100')
该命令列出了所有类型的100条记录。缺少许多CNAME记录。
如何遍历所有记录,以便可以列出所有CNAME记录?
您应该只使用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