3

皆さん、実行中のマシンのインスタンスIDだけでなく、awsコンソールでそれらに追加したエイリアス名も取得しようとしています。

これはこれを行うための適切な方法ですか?面白いものは何も返ってこない…。

import boto
botoEC2 = boto.connect_ec2('asdf','asdfasdfasdfasdf')
rsv = botoEC2.get_all_instances()
tags = botoEC2.get_all_tags()
print tags
dir (tags)
print tags
print tags.status
print tags.pop
print tags.count
print tags.tagSet
print tags.requestId
print tags.index
print tags.
print tags.requestId
print tags.index
print tags.key_marker

print tags

出力:[タグ:ec2tag、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、タグ:名前、Tag:ec2tag、Tag:Name、Tag:Name、Tag:Name、Tag:Name、Tag:Name]

ありがとう!

4

1 に答える 1

6

すべてのタグを取得できます

import boto
conn = boto.connect_ec2('asdf','asdfasdfasdfasdf')

tags = conn.get_all_tags()
for tag in tags:
    print tag.name, tag.value

または、インスタンスのみに関連付けられたタグを取得できます

reservation = conn.get_all_instances()[0]
# Yeah I don't know why they have these stupid reservation objects either...
instance = reservation.instances[0]
print instance.tags
# prints a dictionary of the tags {'Name': 'Given name'}

2014年4月の更新: Get all instanceは、近い将来、その動作を変更する予定です。おかしなことに、EC2インスタンスのリストを返し始めます。get_all_reservations次のメジャーバージョンの更新中にコードが破損しないように、今すぐ使用する必要があります。

于 2012-09-25T21:43:43.427 に答える