Wie lösche ich mit boto3 ein Tag aus EBS?

Wie lösche ich mit boto3 ein Tag aus EBS?

Ich möchte ein Tag aus dem EBS-Volume mit boto3/lambda löschen. In diesem Dokumenthttps://boto3.readthedocs.io/en/latest/reference/services/ec2.html#volumeIch sehe nur „create_tags()“. Es eignet sich zum Ändern von Tags und beispielsweise zum Festlegen eines leeren Werts, aber ich muss das Tag vollständig entfernen.

Ich habe create_tags() mit einem leeren Wert und nur create_tags() mit allen Tags, die ich behalten muss, und einigen ausgeschlossen, ausprobiert, aber es funktioniert nicht: Die Tags, die ich löschen möchte, bleiben unberührt.

    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
    );

Wie löscht man also ein Tag aus dem EBS-Volume?

Antwort1

Es funktioniert auf ziemlich unerwartete Weise: Obwohl Sie Tags mit erstellen resource, müssen Sie sie mit löschen client:

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

verwandte Informationen