AttributeError:'EC2'对象没有属性'tag_resources'

时间:2017-12-07 12:00:40

标签: python amazon-ec2 boto3

我运行以下代码并收到错误:

#!python -u

from boto3 import client

def is_tags():
 response = client('ec2', 'us-east-1').tag_resources(
 ResourceARNList=[
 'arn:aws:ec2:us-east-1::image/ami-55ef662f'
    ],
    Tags=[
        {
         'Key': 'Name',
         'Value': 'john',
        },
    ],
    )    
if __name__ == '__main__':
    is_tags()

抛出以下错误:

AttributeError: 'EC2' object has no attribute 'tag_resources'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您使用的库不正确,客户端对象没有名为tag_resources的属性,因此对它的调用失败。

您可以参考boto3 documentation for Tag in EC2

中的正确用法
import boto3

ec2 = boto3.resource('ec2', 'us-east-1')
tag = ec2.Tag('resource_id','key','value')

编辑:我不确定是否有一个API用于标记始终有效的多种资源类型。您似乎关注this API,在这种情况下,您必须定义client correctly,例如:

client = boto3.client('resourcegroupstaggingapi', 'us-east-1')