【问题标题】:Get the Tag "Name" of an EBS volume with Boto 3 AWS Lambda使用 Boto 3 AWS Lambda 获取 EBS 卷的标签“名称”
【发布时间】:2017-02-10 22:37:27
【问题描述】:

我正在为 AWS lambda 使用脚本 https://github.com/xombiemp/ec2-take-snapshots-lambda/blob/master/ec2-take-snapshots-lambda.py

我想创建快照并使用 EBS 卷的相同标签“名称”设置标签“名称”,但在 boto 3 的文档中找不到如何获取 EBS 卷的标签值。

【问题讨论】:

    标签: lambda boto3


    【解决方案1】:

    以下代码显示了如何在 boto3 中查找与卷关联的 Name 标记的示例。

    import boto3
    
    ec2 = boto3.resource('ec2')
    vol = ec2.Volume(id='vol-1234567890123456')
    name = None
    for tag in vol.tags:
        if tag['Key'] == 'Name':
            name = tag.get('Value')
    

    如果卷有与之关联的Name 标签,则变量name 将在循环后包含该标签值。然后,您可以使用该值通过create_tags 在快照上创建标签。

    【讨论】:

    • @garnaat -- 它对我不起作用。我得到一个错误“errorMessage”:“'str'对象没有属性'tags'”,
    • @garnaat -- 对于 volumeId.tags 中的标签: if tag['Key'] =='Name': namet = tag.get('Value') print(namet)
    • 我的一些标签显示为 None 并且似乎不可迭代。
    猜你喜欢
    • 2020-01-07
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多