Boto3 - 创建过程中的标记实例
Boto3 - tag instance during creating
我目前正在使用 AWS EC2 实例。我想启动几个实例,分别负责不同的任务。要创建和启动实例,我使用以下函数:
def ec2start(num):
ec2.create_instances(
ImageId='image_id',
InstanceType='instance_type',
SecurityGroupIds= [ 'security_group_id' ],
MinCount=int(num),
MaxCount=int(num)
)
然而,由于我有几个 运行 个实例,但其中一些执行类似的操作,我使用 @roles
在多个实例上调用一个函数并加快一切。为了能够在选定实例上使用特定功能,我向每个实例添加了一个标签。到目前为止,为了标记一个实例,我使用了以下函数:
def ec2tagInstance(ids, tagname):
ec2.create_tags(Resources=[ids], Tags=mytags)
instances = ec2.instances.filter(InstanceIds=[ids])
for instance in instances:
for tag in instance.tags:
if tag["Key"] == "Type":
tag["Value"] = tagname
但是,现在我必须首先创建(启动)一个实例,然后我必须调用一个具有特定 ID 的函数 ec2tagInstance
,以便能够对其进行标记。是否可以在创建(启动)新实例的同时为实例添加标签?
在创建实例时确实没有办法将标签分配给实例。 EC2 RunInstances API 请求不接受 Tags
参数。
您可以编写自己的函数来创建实例并在之后立即标记它们,但是无法通过单个 API 调用来完成。
我目前正在使用 AWS EC2 实例。我想启动几个实例,分别负责不同的任务。要创建和启动实例,我使用以下函数:
def ec2start(num):
ec2.create_instances(
ImageId='image_id',
InstanceType='instance_type',
SecurityGroupIds= [ 'security_group_id' ],
MinCount=int(num),
MaxCount=int(num)
)
然而,由于我有几个 运行 个实例,但其中一些执行类似的操作,我使用 @roles
在多个实例上调用一个函数并加快一切。为了能够在选定实例上使用特定功能,我向每个实例添加了一个标签。到目前为止,为了标记一个实例,我使用了以下函数:
def ec2tagInstance(ids, tagname):
ec2.create_tags(Resources=[ids], Tags=mytags)
instances = ec2.instances.filter(InstanceIds=[ids])
for instance in instances:
for tag in instance.tags:
if tag["Key"] == "Type":
tag["Value"] = tagname
但是,现在我必须首先创建(启动)一个实例,然后我必须调用一个具有特定 ID 的函数 ec2tagInstance
,以便能够对其进行标记。是否可以在创建(启动)新实例的同时为实例添加标签?
在创建实例时确实没有办法将标签分配给实例。 EC2 RunInstances API 请求不接受 Tags
参数。
您可以编写自己的函数来创建实例并在之后立即标记它们,但是无法通过单个 API 调用来完成。