AWS SDK - 如何使用 Boto3 设置 VPC 名称标签

Str*_*ker 1 amazon-ec2 amazon-web-services amazon-vpc boto3 aws-vpc

创建 vpc 时如何使用 AWS 开发工具包指定 VPC 名称标签?我尝试了此处所示的多种选项,但没有成功。

以下是我如何使用 python、boto3 SDK 创建 VPC。

import os
import boto3
import time    
....
....
print('Creating VPC')
# Create new VPC environment
vpc = client.create_vpc(CidrBlock='10.0.0.0/16', InstanceTenancy='default')
client.modify_vpc_attribute(VpcId=vpc['Vpc']['VpcId'], EnableDnsSupport={'Value': True})
client.modify_vpc_attribute(VpcId=vpc['Vpc']['VpcId'], EnableDnsHostnames={'Value': True})
Run Code Online (Sandbox Code Playgroud)

目前,它创建没有名称标签的 vpc。

我尝试在创建 vpc 期间或修改它时指定标签,如下所示,但没有一个选项起作用。

vpc = client.create_vpc(CidrBlock='10.0.0.0/16', InstanceTenancy='default', Tags="myvpcnametag")
client.modify_vpc_attribute(VpcId=vpc['Vpc']['VpcId'], Tags="myvpctag")
Run Code Online (Sandbox Code Playgroud)

hel*_*loV 5

如果您有 VPC id,类似这样的操作应该可以工作:

client = boto3.client('ec2')
client.create_tags(Resources=['vpc-78a54011'], Tags=[{'Key': 'Name', 'Value': 'MyVPC'}])
Run Code Online (Sandbox Code Playgroud)

这是我修改它并且效果很好的方法。

创建新的VPC环境

vpc = client.create_vpc(CidrBlock='10.0.0.0/16', InstanceTenancy='default')

client.modify_vpc_attribute(VpcId=vpc['Vpc']['VpcId'], EnableDnsSupport={'Value': True})
client.modify_vpc_attribute(VpcId=vpc['Vpc']['VpcId'], EnableDnsHostnames={'Value': True})

client.create_tags(Resources=[vpc['Vpc']['VpcId']], Tags=[{'Key': 'Name', 'Value': 'DariusVPC'}])
Run Code Online (Sandbox Code Playgroud)