首页 > 解决方案 > 在 Lambda 函数响应中显示 JSON 文件 - AWS

问题描述

我使用 Python 从 S3 存储桶中读取了一个文件:

import json
import boto3


 s3 = boto3.client('s3')

def lambda_handler(event, context):

 bucket =  'finalyearpro-aws'
 key = 'StudentResults.json'


 try:
     data = s3.get_object(Bucket=bucket, Key=key)
    json_data = data['Body'].read().decode('utf-8')

    print (json_data)

except Exception as e:

    raise e

但它不会显示在响应中,而是将其创建为函数日志,我该如何在响应中显示它。见下图。

Lambda 函数 Python 读取文件响应 - 单击此处

标签: pythonjsonamazon-web-servicesamazon-s3aws-lambda

解决方案


AWS Lambda将所有控制台输出发送到 CloudWatch,以便您查看。由于您无法连接到运行 Lambda 的进程,否则您将无法查看您的 Lambda 日志。

如果您想将此 JSON 作为 Lambda 的响应返回,那么您只需要return该值。您可以在此处找到有关 Python 中的 Lambda 处理程序的信息。

您想要做的一个示例如下(为简洁起见,您的代码删除了无趣的位):

def lambda_handler(event, context):

 bucket =  'finalyearpro-aws'
 key = 'StudentResults.json'

 data = s3.get_object(Bucket=bucket, Key=key)
 json_data = data['Body'].read().decode('utf-8')

 return json_data

我希望这有帮助!


推荐阅读