如何使用 boto3 从 EBS 中删除标签?

如何使用 boto3 从 EBS 中删除标签?

我想使用 boto3/lambda 从 EBS 卷中删除标签。在此文档中https://boto3.readthedocs.io/en/latest/reference/services/ec2.html#volume我只看到“create_tags()”。它适用于修改标签,例如设置一个空值,但我需要完全删除该标签。

我尝试使用空值来 create_tags(),并仅使用我需要保留的所有标签并排除一些标签来 create_tags(),但它不起作用:我想要删除的标签保持不变。

    tagRes = boto3.resource('ec2', region_name=region);
    volume = tagRes.Volume(id);
    ...
    tagsToKeep.append({'Key': tagName, 'Value': 'keep it'})
    ...
    ret = volume.create_tags(
        Resources=[id],
        Tags=tagsToKeep
    );

那么,如何从 EBS 卷中删除标签?

答案1

它的工作方式相当出乎意料:尽管您使用创建标签resource,但您必须使用删除它们client

id = 'vol-5e0e9c3333'
tagRes = boto3.client('ec2', region_name=region)
ret = tagRes.delete_tags(
    Resources=[id],
    Tags=[{'Key': 'tag_name_to_del' }]
);

相关内容