我正在使用AWS CLI命令提取结果以进行报告,我必须创建一个lambda,该lambda可以完成相同的工作,但是在语法错误方面遇到许多问题
当前的AWS CLI命令:
$ aws ec2 describe-instances \
--query 'Reservations[].Instances[].[Tags[?Key==`platform`]|[0].Value, Tags[?Key==`resource-version`]|[0].Value]| sort_by(@, &[0])' \
--output table \
--filter Name=tag:platform,Values=aip,mmt,pame --profile prod | uniq
能帮我用python编写相同的代码吗?
答案 0 :(得分:0)
现在我可以打印此结果:
部署的版本是:
mmt 1.104.12
mmt 1.104.15
mmt 1.104.15
mmt 1.112.0-SNAPSHOT
mmt 1.104.15
mmt 1.104.12
aip 1.112.0-SNAPSHOT
mmt 1.112.0-SNAPSHOT
mmt 1.104.15
mmt 1.104.12
aip 1.112.0-SNAPSHOT
aip 1.112.0-SNAPSHOT
mmt 1.112.0-SNAPSHOT
使用此示例`import boto3
def instance_list(tagkey,tagvalue): #传递标签键后,标签值将返回找到的InstanceId的列表。
ec2client = boto3.client('ec2')
response = ec2client.describe_instances(
Filters=[
{'Name':'tag:platform', 'Values':["mmt","pame","aip"]}
]
)
name = []
instancelist= []
print ("Deployed versions are :")
for reservation in (response["Reservations"]):
for instance in reservation["Instances"]:
for tag in instance['Tags']:
if tag['Key'] == 'platform':
name.append(tag["Value"])
if tag['Key'] == 'resource-version':
instancelist.append(tag["Value"])
a = [name + instancelist]
for x, y in zip(name, instancelist):
print (x, y)
`
正在尝试删除重复的行并通过邮件或备用邮件发送结果;有什么帮助吗?