【问题标题】:How to match a specific tag for a given volume in AWS with boto?如何将 AWS 中给定卷的特定标签与 boto 匹配?
【发布时间】:2014-09-17 04:21:35
【问题描述】:

我想做的是检查一个卷是否包含某个标签,即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)

此代码有效(有点),但它会遍历所有标签,即使它们与我正在搜索的条件不匹配。所以它最终添加了is_managed 标签,但它错误地计算了要匹配的标签数量,而且它真的很慢。

如何查看单个标签以查看它是否符合我要查找的条件?

【问题讨论】:

    标签: python amazon-web-services amazon-ec2 boto


    【解决方案1】:

    您可以通过调用以下命令获取 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 2016-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-02
      相关资源
      最近更新 更多