使用 boto3 循环 aws config 中的所有对象

loop all objects in aws config using boto3

我是 aws boto3 的新手。 目标:我想提取所有合规和 non-compliant rule from aws-config 服务并在 txt 文件中写入非 compliant_config.txt

问题是当我 运行 这段代码时,它没有遍历所有规则(我猜它停在第一个 25)

import boto3
#counter to count total number of rules(objects) this code iterated.
count = 0 

client = boto3.client('config')
response = client.describe_config_rules()

for i in response['ConfigRules']:
    count = count +1 
    print(i)

print(count)

我的代码 print(count) 的最后一行显示 25

最后一点:我想打印(或写入 txt 文件)所有 AWS 配置规则。 注意:我也尝试查看 boto3 pagination documentation,但我无法理解如何使用它。

可能您必须使用 describe_config_rules 中的 NextToken 来继续迭代。或者,您可以按照 docs.

中的说明使用 get_paginator('describe_config_rules')
import boto3
client = boto3.client('config')
count = 0 

paginator = client.get_paginator('describe_config_rules')

rules = paginator.paginate()

for rule in rules:
    for j in i['ConfigRules'] :
        count = count + 1
        print(j)

此代码循环遍历所有 AWS 配置规则。

解决方案学分: