【发布时间】:2020-03-01 00:53:43
【问题描述】:
我在 AWs Lambda 中使用以下 Python 函数:
import json
import boto3
from boto3.dynamodb.conditions import Key, Attr
#always start with the lambda_handler
def lambda_handler(event, context):
# make the connection to dynamodb
dynamodb = boto3.resource('dynamodb')
# select the table
table = dynamodb.Table("test")
response = table.query(
KeyConditionExpression=Key('coursename').eq('intro')
)
data = response['Items']
return {'body' : data}
它输出以下 JSON - 注意到“body”键了吗?当我尝试在我的应用中使用响应时,这会产生一些问题,因为我必须将“正文”作为响应的一部分。
来自 Lambda 的 JSON 响应
{
"body": [{
"coursename": "introto1",
"course-lesson-name": "Welcome to One! "
}, {
"coursename": "introto2",
"course-lesson-name": "What is One?"
}, {
"coursename": "introto2",
"course-lesson-name": "What Can We do with One?"
}]
}
这是我需要 Python 函数输出的 JSON 格式。这可以在 AWS Lambda 中完成吗?
我需要的JSON格式:
[{
"coursename": "introto1",
"course-lesson-name": "Welcome to One! "
}, {
"coursename": "introto2",
"course-lesson-name": "What is One?"
}, {
"coursename": "introto2",
"course-lesson-name": "What Can We do with One?"
}]
【问题讨论】:
-
如果将
return {'body' : data}更改为return data会发生什么? -
当——就这么简单,对吧?我觉得有点愚蠢,但谢谢 - 它就像一个魅力。
标签: python json aws-lambda