Boto3脚本获取具有特定标记和值

时间:2018-01-03 06:38:48

标签: python-3.x amazon-ec2 scripting boto3

如何使用Boto3脚本使用标记和值过滤AWS实例,请提示!

import boto3

ec2 = boto3.resource('ec2')
client = boto3.client('ec2')

response = client.describe_tags(
Filters=[{'Key': 'Owner', 'Value': 'user@example.com'}])
print(response)

谢谢, NTRao

2 个答案:

答案 0 :(得分:7)

您使用的是错误的API。使用describe_instances

import boto3

client = boto3.client('ec2')

custom_filter = [{
    'Name':'tag:Owner', 
    'Values': ['user@example.com']}]

response = client.describe_instances(Filters=custom_filter)

答案 1 :(得分:-1)

boto3.client.describe_tags()是通用的,但使用起来很繁琐。因为您需要嵌套并指定要过滤的服务,标记键名和标记值。即。

client = boto3.client('ec2')
filters =[
    {'Name': 'resource-type', 'Values': ['instance']},
    {'Name': 'Key', 'Values': ['Owner']},
    {'Name': 'Values', 'Values' : ['user@example.com']}
]
response = client.describe_instances(Filters=filters)

正如@helloV建议的那样,使用describe_instances()要容易得多。 describe_tags允许用户创建遍历所有服务标签的功能。