2017-12-07 24 views
0

は、私は次のコードを実行しないとエラーを取得していますはAttributeError: 'EC2' オブジェクトが属性 'tag_resources'

#!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

ライブラリを間違って使用していますが、クライアントオブジェクトにはtag_resourcesという属性がありません。そのため、呼び出しに失敗しています。

あなたはboto3 documentation for Tag in EC2から正しい使用方法を参照することができます。

import boto3 

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

はEDIT:私は一貫して働くリソースの複数のタイプをタグ付けするための単一のAPIがあるかどうかわかりません。あなたが、その場合には、あなたが同じように、あなたのclient correctlyを定義する必要があり、this APIを以下のように見える:

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

は、私が実際に一つだけの構文を使用してリソースをタグ付けしたい...それはpossible..Iにこのような何かを得ですドキュメント: - レスポンス= client.tag_resources( ResourceARNList = [ 'string' は、 ]、 タグ= { 'という文字列': '文字列' } ) "トン我々は、リソースのタグを追加するには、この同じ構文を使用することができます –

+0

ec2、s3などのリソースに同じ構文を使用したい –

+0

@gulshankumar tの単一のAPIがあるかどうかわかりませんhttp://boto3.readthedocs.io/en/latest/reference/services/resourcegroupstaggingapi.html#ResourceGroupsTaggingAPI.Client.tag_resourcesに従っているようです。この場合、http://のようなクライアントを定義する必要がありますboto3.readthedocs.io/en/latest/reference/services/resourcegroupstaggingapi.html#ResourceGroupsTaggingAPI.Client –

関連する問題