2016-12-14 24 views
0

私はPython SDK boto3を使用して、すべてのセキュリティグループを地域に取得していますが、間違った番号を取得しています。aws python boto3が適切な数のセキュリティグループを返さない

## Client connection 
ec2 = boto3.client(
    'ec2', 
    aws_access_key_id=aws_access_key, 
    aws_secret_access_key=aws_secret_key, 
    region_name = ec2_region_name 
) 


def lambda_handler(event, context): 
    count = 0 
    for sg in ec2.describe_security_groups(): 
     count = count + 1 
    print(count) 

何百ものセキュリティグループがある場合の結果は2です。

私は間違っていますか?

答えて

1

describe_security_groupsドキュメントの戻り値を再度確認してください。

あなたは[ "SecurityGroups"]リターン辞書キーからリストを読み取る必要がある

for sg in ec2.describe_security_groups()["SecurityGroups"]: 
     count = count + 1 
    print(count) 
+0

おお、それはでしたか?ありがとう@mootmoot。セキュリティグループに関連付けられているすべてのインスタンスを取得する方法を知っていますか。 boto2を使用すると、 '' 'sg.instances()' ''を実行して、セキュリティグループが使用されていない場合はゼロと比較できます。しかし、私は同じことをしたいと思います。 – Robert

関連する問題