我试图从Boto3脚本中获取Ec2清单信息该脚本在jupyter笔记本上运行良好,但当我在我的project Linux环境中运行时,我遇到了以下问题
名称错误:未定义名称“实例名称”
以下是我的脚本:
import boto3
import csv
import pprint as pprint
aws_mang_con=boto3.session.Session(profile_name='root')
ec2_cli=aws_mang_con.client('ec2')
cnt=1
csv_ob=open("demo3.csv","w",newline='')
csv_w=csv.writer(csv_ob)
csv_w.writerow(["S_NO","Enviroment",'Application','Componenets','Instance_id','IP','Instance_Name','Instance_Size','Status'])
response=ec2_cli.describe_instances()['Reservations']
for each_item in response:
for instances in each_item['Instances']:
for tags in instances['Tags']:
if tags['Key'] in 'Name':
name=tags['Value']
print(name)
elif tags['Key'] in 'Application':
application=tags['Value']
print(application)
elif tags['Key'] in 'Components':
components=tags['Value']
print(components)
csv_w.writerow([cnt,'dev',application,components,instances['PrivateIpadress'],name,instances['InstanceType'],instances['State']['Name']])
cnt+=1
csv_ob.close()
这里还需要添加什么,因为它在我本地的jupyter笔记本上运行良好,但在我的project Linux机器上显示了上述错误。任何帮助都将不胜感激
我认为下面这行的缩进不正确
标识应与表示
for tags in instances['Tags']:
的行相同应该是这样的:
相关问题 更多 >
编程相关推荐