AWS BOTO - 使用标签查找 ec2 实例的卷 ID
AWS BOTO - find volume ID of an ec2 instance using tag
我们已经为我们的 ec2 实例定义了标签。我们想使用 python boto 模块通过标签获取 volumeId 或 EBS 卷的列表。已为实例创建标签。我们想使用在本例中为 "dev" 的名称标签并列出与其关联的 EBS 卷。
请帮忙
最好尝试编写一些代码来尝试解决问题,然后 post 如果该代码不起作用,则提出一个具体问题。如果您在开始时遇到问题,这里有一些提示。
您需要做的第一件事是找到所有具有 name=<somevalue>
形式的特定标签的实例。在 boto 中,您将使用 get_all_instances
方法的 filter
参数来完成此操作。这样的事情应该有效:
reservations = conn.get_all_instances(filters={'name': ['somevalue']})
这将 return 与查询匹配的 Reservation
个对象的列表。 Reservation
对象中有一个名为 instances
的属性,它是 Instance
个对象的列表。
对于该列表中的每个 Instance
对象,您需要查找与该实例关联的 EBS 卷。同样,您需要使用 filters
参数来完成此操作。在这种情况下,您想要的过滤器名称是 attachment.instance-id
.
volumes = conn.get_all_volumes(filters={'attachment.instance-id': [instance.id]})
其中 instance
是 Instance
对象之一 return 从第一次调用中编辑。这将 return 当前附加到 instance
的所有 EBS 卷的 Volume
个对象列表。
希望对您有所帮助。尝试编写代码,然后如果您 运行 遇到具体问题,请在此处提问。
我们已经为我们的 ec2 实例定义了标签。我们想使用 python boto 模块通过标签获取 volumeId 或 EBS 卷的列表。已为实例创建标签。我们想使用在本例中为 "dev" 的名称标签并列出与其关联的 EBS 卷。 请帮忙
最好尝试编写一些代码来尝试解决问题,然后 post 如果该代码不起作用,则提出一个具体问题。如果您在开始时遇到问题,这里有一些提示。
您需要做的第一件事是找到所有具有 name=<somevalue>
形式的特定标签的实例。在 boto 中,您将使用 get_all_instances
方法的 filter
参数来完成此操作。这样的事情应该有效:
reservations = conn.get_all_instances(filters={'name': ['somevalue']})
这将 return 与查询匹配的 Reservation
个对象的列表。 Reservation
对象中有一个名为 instances
的属性,它是 Instance
个对象的列表。
对于该列表中的每个 Instance
对象,您需要查找与该实例关联的 EBS 卷。同样,您需要使用 filters
参数来完成此操作。在这种情况下,您想要的过滤器名称是 attachment.instance-id
.
volumes = conn.get_all_volumes(filters={'attachment.instance-id': [instance.id]})
其中 instance
是 Instance
对象之一 return 从第一次调用中编辑。这将 return 当前附加到 instance
的所有 EBS 卷的 Volume
个对象列表。
希望对您有所帮助。尝试编写代码,然后如果您 运行 遇到具体问题,请在此处提问。