UPD: replaced while loop with paginator

This commit is contained in:
xpk 2024-04-24 16:06:17 +08:00
parent 2e957ee960
commit 4ae354c009
Signed by: xpk
GPG Key ID: CD4FF6793F09AB86
1 changed files with 4 additions and 8 deletions

View File

@ -10,10 +10,10 @@ resp = client.get_discovered_resource_counts()
# print('totalDiscoveredResources', resp['totalDiscoveredResources'], sep=": ")
results = []
for item in resp['resourceCounts']:
reslist = client.list_discovered_resources(resourceType=item['resourceType'])
nextToken = reslist.get('nextToken')
while True:
for res in reslist['resourceIdentifiers']:
paginator = client.get_paginator('list_discovered_resources')
page_iterator = paginator.paginate(resourceType=item['resourceType'])
for page in page_iterator:
for res in page['resourceIdentifiers']:
if item['resourceType'] in [
"AWS::Config::ResourceCompliance",
"AWS::Backup::RecoveryPoint",
@ -26,10 +26,6 @@ for item in resp['resourceCounts']:
continue
preferResName = res.get('resourceName', res.get('resourceId'))
results += [[item['resourceType'], preferResName]]
if nextToken is None:
break
reslist = client.list_discovered_resources(resourceType=item['resourceType'], nextToken=nextToken)
nextToken = reslist.get('nextToken')
df = pd.DataFrame(results, columns=['ResourceType', 'ResourceId'])
# print(df)