jmr*_*cha 2 python amazon-ec2 boto amazon-web-services
我想做的是检查一个卷是否包含某个标签,即is_managed.如果卷具有标记,请跳过它,否则将标记添加到卷.
volumes = conn.get_all_volumes()
tags = conn.get_all_tags()
for volume in volumes:
for tag in tags:
if tag.name.startswith('is_managed'):
pass
else:
volume.add_tag('is_managed', True)
Run Code Online (Sandbox Code Playgroud)
此代码有效(有点),但它会迭代所有标记,即使它们与我正在搜索的条件不匹配.所以它最终添加了is_managed标签,但它错误地计算了要匹配的标签数量,加上它真的很慢.
如何查看单个标签以查看它是否符合我要查找的标准?
您通过调用以下内容获取conn的所有标记:tags = conn.get_all_tags()
您想要的是获取当前卷的所有标记,因此您希望执行以下操作:
volumes = conn.get_all_volumes()
for volume in volumes:
if not 'is_managed' in volume.tags:
volume.add_tag('is_managed', True)
Run Code Online (Sandbox Code Playgroud)