我们为ec2实例定义了标签。我们想使用python boto模块通过使用标签来获取volumeId或EBS卷的列表。已经为该实例创建了标签。我们想使用名称tage,在这种情况下是“dev”并列出与之关联的EBS卷。 请帮助
答案 0 :(得分:3)
最好尝试编写一些代码来尝试解决问题,然后发布一个特定的问题,如果该代码不起作用。如果您在开始时遇到问题,可以参考以下几点。
您需要做的第一件事是找到具有name=<somevalue>
形式的特定标记的所有实例。在boto中,您将使用filter
方法的get_all_instances
参数来完成此操作。这样的事情应该有效:
reservations = conn.get_all_instances(filters={'name': ['somevalue']})
这将返回与查询匹配的Reservation
个对象的列表。 Reservation
对象内部是一个名为instances
的属性,它是Instance
个对象的列表。
对于该列表中的每个Instance
对象,您将需要查找与该实例关联的EBS卷。同样,您将需要使用filters
参数来完成此任务。在这种情况下,您需要的过滤器名称为attachment.instance-id
。
volumes = conn.get_all_volumes(filters={'attachment.instance-id': [instance.id]})
其中instance
是第一次调用返回的Instance
个对象之一。这将返回当前附加到Volume
的所有EBS卷的instance
个对象列表。
我希望有所帮助。尝试编写代码然后如果遇到特定问题,请在此处询问。