过滤或查询awsrds数据库实例的正确方法是什么状态:可用Python?

2024-07-08 07:21:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python从AWS控制台获取rdsdb实例的计数。在

我可以从AWS RDS获得计数,但我无法根据它们的Status: Available来获取计数。在

这是我的代码:

client3 = boto3.client('rds', aws_access_key_id=access_key, 
aws_secret_access_key=secret_key,region_name=region)
rds = client3.describe_db_instances().filter(query=[{'Name': 'status', 
'Values': ['available']}])  # Throws Error as filter and query are no 
 attributes
for rdsdb in rds['DBInstances']:#['DBInstanceStatus'=='available']:
  rds_count.append(rdsdb)
f.writerow(('p_rds_count', len(rds_count)))
print("rds->" + str(len(rds_count)))

输出:

^{pr2}$

我怎样才能做到这一点?在

AWS控制台应该像:

Status
available

Tags: keyawssecretaccessstatuscountfilterquery
1条回答
网友
1楼 · 发布于 2024-07-08 07:21:15

您只需检查返回的所有实例的状态:

import boto3

rds_client = boto3.client('rds')

instances = rds_client.describe_db_instances()

available = [i['DBInstanceIdentifier'] for i in instances['DBInstances'] if i['DBInstanceStatus'] == 'available']

print len(available)

相关问题 更多 >

    热门问题