我有一个简单的代码,它进入AWS并获取一些数据,然后将其输出到控制台。
菌种:
import boto3
from pprint import pprint
ec2 = boto3.resource('ec2')
client = boto3.client('ec2')
#This is the VPC ID and Linked Tags
for vpctags in client.describe_vpcs()['Vpcs']:
print("VPC ID: ", vpctags['VpcId'])
print("Tags: ", vpctags['Tags'])
for subnet in client.describe_subnets()['Subnets']:
print("Subnet ID: ", subnet['SubnetId'])
print("Subnet ID: ", subnet['Tags'])
###############################################
我得到一个错误,因为我的一个或多个子网没有标记:
print(“subnet id:”,subnet[“tags”])keyror:“tags”
我不希望每个子网都有标签,所以有没有一种方法可以简单地忽略标签的不足,只打印空的,或者简单地继续?
很抱歉,如果这听起来是一个愚蠢的问题,我已经搜索了谷歌并找到了一些想法,但它们看起来有点先进。
最佳答案
对,
你可以替换
print("Subnet ID: ", subnet['Tags'])
具有
print("Subnet ID: ", subnet.get('Tags', ''))
使用get with允许您在不存在标记的情况下定义默认值