如何使用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
答案 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允许用户创建遍历所有服务标签的功能。