Boto3无法删除AWS标签



github上提到的boto3,他们添加了对删除标签的支持。但是,当我执行下面的代码时,它会引发例外:

ec2 = boto3.resource('ec2', region_name=aws_region)
ec2.delete_tags(Resources=[instance.id],Tags=[{"Key": non_compliant_tag_name}])
'ec2.ServiceResource' object has no attribute 'delete_tags'
$ pip show boto3
Name: boto3
Version: 1.4.4

我在做什么错?

delete_tags()方法应在client对象而不是resource对象上调用:

import boto3
client = boto3.client('ec2', region_name='ap-southeast-2')
...
client.delete_tags(Resources=[instance.id],Tags=[{"Key": non_compliant_tag_name}])

您可以按以下方式使用python

    import boto3
    reservations = ec2.describe_instances(
            Filters=[
                #{'Name': 'tag:Type', 'Values': ['management']},
            ]
        ).get(
            'Reservations', []
        )
        instances = sum(
            [
                [i for i in r['Instances']]
                for r in reservations
            ], [])
    for instance in instances:
       # Delete the tag 'baz' if it exists
       ec2.delete_tags(Resources=[instance['InstanceId']], Tags=[{"Key": "TAGNAME"}])

最新更新