python - 在 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
但它不会显示在响应中,而是将其创建为函数日志,我该如何在响应中显示它。见下图。
解决方案
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
我希望这有帮助!
推荐阅读
- python - 更改多个文件名python
- sql - SQLite - 找出某个客户是否被现有客户推荐
- excel - MS excel中的数据刷
- kubernetes - 即使在指定 VolumeClaimTemplate 之后,kube-prometheus-stack 也使用 EmptyDir 作为存储
- reactjs - 如何更改导航栏中的页面标题
- c - 我们究竟什么时候在 C 语言中使用“if else-if”和“case break”语句?我为一个问题写了2个代码,但我不明白其中的区别
- ios - 为什么在购买订阅时显示询问权限请求的 Testflight 将发送给家长/监护人
- javascript - 如何在鼠标事件上更改 QML 的 TableView 中一行的颜色?
- ios - 使用比例因子计算 UIImage 的正确值
- python - 如何根据 groupby 使 matplotlib 中的 xticks 均匀分布,尽管它们很有价值?