2016-10-24 6 views
2

Я хотел бы получить все изображения ami, принадлежащие мне. Я попробовал что-то вроде:Boto3: Получить изображения EC2, принадлежащие мне

ec2 = boto3.resource('ec2') 
owner_id = 'owner_id' 
filters = [{'Name': 'owner-id', 'Values': [owner_id]}] 
images = ec2.images.filter(Filters=filters).all() 

Но мне нужно вставить код owner_id explicid. Это любое решение, чтобы сделать это автоматически из учетных данных aws?

+2

Вы хотите получить идентификатор вызывающего абонента: http://stackoverflow.com/questions/36709461/get-aws-account-id-from-boto – at0mzk

+0

Спасибо @BretzL. Это именно то, что мне нужно. – drootnar

ответ

0

Вы можете использовать STS API для получения этой информации.

Я нашел этот пост говорил об этом: getting the current user account-id in boto3

Так код нужно:

ec2 = boto3.resource('ec2', region_name='us-east-1') 
owner_id = boto3.client('sts').get_caller_identity().get('Account') 
filters = [{'Name': 'owner-id', 'Values': [owner_id]}] 
images = ec2.images.filter(Filters=filters).all() 

Убедитесь, что изменить название региона к правильному, или оставить его, если вы» вы установите его в другом месте в вашей среде.

2

Вы должны иметь возможность использовать себя для владельца. Это то, что я использую.

boto3conn = boto3.resource("ec2", region_name="us-west-2") 
images = boto3conn.images.filter(Owners=['self']) 
Смежные вопросы