かべぎわブログ

技術的なことについてかけたらいいな…

インスタンスIDの一覧をPythonのリスト内包表記で取得する

概要

EC2インスタンスのIDの一覧をPythonのリスト内包表記をつかってかんたんに取得してみます。

前提

いずれも以下の様な感じで宣言してあるとする。

import boto3
ec2 = boto3.client('ec2')
response = ec2.describe_instances()

リスト内包表記の場合

こんなかんじでかんたんにできる

instance_id_list  = [response['Instances'][0]['InstanceId'] for response in response['Reservations']]
print(instance_id_list)
# ['i-XXXXXX', 'i-YYYYYY']

リスト内包表記じゃない場合

こんなかんじでループさせて配列のなかに入れあげる必要があった。

instance_id_list = []
for reservations in response['Reservations']:
    instance_id_list.append(reservations['Instances'][0]['InstanceId'])
print(instance_id_list)
# ['i-XXXXXX', 'i-YYYYYY']

おわりに

多少わかりにくいみたいなところはあるけれどね

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト