Boto3脚本获取具有特定标记和值的ec2实例列表

问题描述 投票:0回答:2

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

import boto3

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

response = client.describe_tags(
Filters=[{'Key': 'Owner', 'Value': '[email protected]'}])
print(response)

谢谢,NTRao

python-3.x amazon-ec2 scripting boto3
2个回答
7
投票

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

import boto3

client = boto3.client('ec2')

custom_filter = [{
    'Name':'tag:Owner', 
    'Values': ['[email protected]']}]

response = client.describe_instances(Filters=custom_filter)

-1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.