boto3 无法删除 AWS 标签

bui*_*tro 5 amazon-web-services boto3

boto3在 Github 上提到他们增加了对删除标签的支持。但是,当我执行下面的代码时,它会引发异常:

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
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Joh*_*ein 6

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}])
Run Code Online (Sandbox Code Playgroud)

  • `resource` 是一个仅 boto 的高层接口,试图简化 API 调用。“client”直接映射到所有 SDK 使用的 AWS API 调用。 (2认同)