Назад | Перейти на главную страницу

Как удалить тег из EBS с помощью boto3?

Я хочу удалить тег из тома EBS с помощью boto3 / lambda. В этом документе 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?

Это работает довольно неожиданным образом: несмотря на то, что вы создаете теги, используя resource, вы должны удалить их, используя client:

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