简体   繁体   English

格式化来自 AWS Lambda 函数的 JSON 输出

[英]Format JSON output from AWS Lambda function

Lambda Program拉姆达计划

import json
import boto3
from pprint import pprint
def lambda_handler(event, context):
    # TODO implement
    #instance = event['instanceid']
    client = boto3.client("ec2")
    status = client.describe_instance_status(InstanceIds=[
        'i-0c52lidc87f',
    ],)
    #pprint(status)
    for i in status["InstanceStatuses"]:
        print("AvailabilityZone :", i["AvailabilityZone"])
        print("InstanceId :", i["InstanceId"])
        print("InstanceState :", i["InstanceState"])
        print("InstanceStatus", i["InstanceStatus"])   
    return {
        'body': ("Instance Status :", i["InstanceState"],i["InstanceId"],i["AvailabilityZone"])
    }

Output输出

{
  "statusCode": 200,
  "body": [
    "Instance Status :",
    {
      "Code": 16,
      "Name": "running"
    },
    "i-0c52lidc87f",
    "ca-central-1a"
  ]
}

I'm getting the above response from my lambda function on AWS - how can change this to readable format - just Instance ID: i-0c5e8c3c87f and Status: Running我从 AWS 上的 lambda 函数收到上述响应-如何将其更改为可读格式-仅实例 ID:i-0c5e8c3c87f 和状态:运行

Please help!请帮忙!

Youre JSON isnt formatted properly, if Instance Status is supposed to be a tuple, try:您的 JSON 格式不正确,如果 Instance Status 应该是一个元组,请尝试:

return {
  "body": {
    "Instance Status":{
"InstanceState": i["InstanceState"]["Name"],
"InstanceId": i["InstanceId"],
"AvailabilityZone": i["AvailabilityZone"]
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM