Python 用不同的值替换现有EC2标记

Python 用不同的值替换现有EC2标记,python,amazon-web-services,boto3,Python,Amazon Web Services,Boto3,我对AWS Python Boto3相当陌生。我试图找到一种方法,用不同的值替换现有的标签值 import boto3 session = boto3.session.Session(aws_access_key_id=aws_access_id, aws_secret_access_key=aws_secret, region_name='us-east-1') ec2 = session.resource('ec2') instances = ec2.instances.filter(

我对AWS Python Boto3相当陌生。我试图找到一种方法,用不同的值替换现有的标签值

import boto3
session = boto3.session.Session(aws_access_key_id=aws_access_id, aws_secret_access_key=aws_secret, region_name='us-east-1')

ec2 = session.resource('ec2')
instances = ec2.instances.filter(
    Filters=[{'Name':'tag:1', 
             'Values':['2']}
])
上面的代码将找到所有带有上述标记的实例,但我不确定如何用不同的值替换这些标记

感谢您的帮助。

请使用。尽管有“create”名称,它也会更新标记

例如:

import boto3

client = boto3.client('ec2')

response = client.create_tags(
    Resources=[
        'i-0397e32da88889999',
    ],
    Tags=[
        {
            'Key': 'Env',
            'Value': 'QA'
        },
    ]
)

谢谢你的快速回复。我们有很多实例需要更新,所以我想先通过标记过滤实例,然后更新值。有没有一种方法可以实现这一点或其他方法?过滤是获取需要更新标记的资源列表的一种好方法。然后可以调用单个create_tags调用,传入最多1000个资源ID的列表。请注意,如果愿意,资源ID列表可以包括EC2实例以外的资源。这就是为什么它使用通用术语“资源ID”而不是EC2实例ID。通过按标记筛选实例,它应该使用指定的标记显示实例的结果。但是,如何替换该值?我相信if-else语句应该可以工作,但我不确定语法会是什么样子。任何指导都将不胜感激。谢谢我不确定我是否完全理解这里的问题,但是如果您使用SDK获取具有感兴趣的标记的资源列表(例如EC2实例),那么只需创建一个仅包含资源ID的新列表(在EC2实例中为实例ID),然后将该列表作为resources参数传递以创建_标记。