Python 如何通过检查实例名称中的字符串来筛选实例
我正在编写一个python脚本,以检索错误标记的实例列表。我需要通过检查名称中是否存在特定字符串进行筛选 最好的方法是什么 我打算使用descripe_实例并使用标记过滤器(其中键为“Name”),但该过滤器要求我提供标记的完整值(即实例名称),但我需要能够使用名称的子集进行搜索Python 如何通过检查实例名称中的字符串来筛选实例,python,amazon-web-services,amazon-ec2,boto3,Python,Amazon Web Services,Amazon Ec2,Boto3,我正在编写一个python脚本,以检索错误标记的实例列表。我需要通过检查名称中是否存在特定字符串进行筛选 最好的方法是什么 我打算使用descripe_实例并使用标记过滤器(其中键为“Name”),但该过滤器要求我提供标记的完整值(即实例名称),但我需要能够使用名称的子集进行搜索 使用客户端可以做到这一点吗?最简单的方法是调用descripe\u instances(),而不使用过滤器,然后循环遍历结果并在Python中执行自己的过滤和修复逻辑 一般逻辑是: Create EC2 client
使用客户端可以做到这一点吗?最简单的方法是调用
descripe\u instances()
,而不使用过滤器,然后循环遍历结果并在Python中执行自己的过滤和修复逻辑
一般逻辑是:
Create EC2 client
Call describe_instances
Loop through results['Reservations']['Instances']:
Loop through instance['Tags']:
if Key == 'Name' and "bad-string" in Value:
Fix tag
如果您有1000多个实例,则必须使用
NextToken
重新调用descripe-instances()
。对于阅读本文的任何人,您可以按照John Rotenstein在其回答中的建议执行,或者,您也可以在标记名中使用通配符“*”,因此您的筛选器类似于:
filters = [{'Name':'tag:Name', 'Values':['string*']}]
谢谢你,约翰!是的,这是可行的,但在我的例子中,我有大量的实例(超过15k),所以这将没有那么有效。在做了一些研究之后,我在下面发布了另一个解决方案,我认为这也很有效,使用了过滤器和通配符“*”。