gpt4 book ai didi

amazon-web-services - 我可以在 boto 中按 instance_id 过滤卷吗?

转载 作者:行者123 更新时间:2023-12-04 08:12:46 26 4
gpt4 key购买 nike

我正在尝试使用 Python 的“boto”模块将卷从一个实例复制到另一个实例。该过程的一部分是识别附加到实例的卷。有几种方法可以解决这个问题。例如,我可以使用列表推导:

from boto.ec2 import connect_to_region
conn = connect_to_region('us-east-1')
all_volumes = conn.get_all_volumes()
instance_volumes = [v for v in all_volumes if v.attach_data.instance_id = "<instanceID>"]

这行得通,并且对于我的目的来说足够好。尽管如此,我很好奇是否有办法使用 get_all_volumes()built-in filtering得到相同的结果。例如,如果我正在搜索“名称”标签与某个模式匹配的实例,我可以这样做:
filters = {'tag:Name': '<name>'}
reservations = self.conn.get_all_instances(filters=filters)
instances = [i for r in reservations for i in r.instances]
get_all_volumes()有一个类似的过滤器参数,但我无法让它在 boto.ec2.volume.Volume.attach_data.instance_id 上工作.我是否遗漏了一些明显的东西,或者无法通过卷上的 instance_id 过滤?

最佳答案

是的,您可以使用服务器端过滤器将 DescribeVolumes 的结果限制为仅附加到特定实例 ID 的卷。

from boto.ec2 import connect_to_region
conn = connect_to_region('us-east-1')

volumes = conn.get_all_volumes(filters={'attachment.instance-id': 'i-11111111'})

将卷限制为附加到实例 i-11111111 的卷.您还可以提供实例 ID 列表作为字典中的值。

关于amazon-web-services - 我可以在 boto 中按 instance_id 过滤卷吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13938316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com