Python 来自AWS API网关调用Lambda的格式错误的Lambda代理响应
在我的项目中,我创建了一个py函数,用于检查和修改我的google日历,如下所示:Python 来自AWS API网关调用Lambda的格式错误的Lambda代理响应,python,amazon-web-services,aws-lambda,aws-api-gateway,Python,Amazon Web Services,Aws Lambda,Aws Api Gateway,在我的项目中,我创建了一个py函数,用于检查和修改我的google日历,如下所示: def main(event, context): ck_app = check(event['calID'], event['datada'], event['dataa']) if not ck_app: insert(event['calID'], event['datada'], event['dataa'], event['email']) return {
def main(event, context):
ck_app = check(event['calID'], event['datada'], event['dataa'])
if not ck_app: insert(event['calID'], event['datada'], event['dataa'], event['email'])
return {
"isBase64Encoded": False,
"statusCode": '200',
"headers": {},
"body": {'input': event,
'busy': ck_app,
'guest_email': event['email']}
}
当我在lambda上测试它时,一切都完成了,但是当我从lambda创建API时:
并对其进行测试,结果是:
2017年12月20日星期三13:35:58 UTC:由于配置错误,执行失败:Lambda代理响应格式错误
2017年12月20日星期三13:35:58 UTC:方法完成,状态:502
提前感谢API网关需要一个json正文,所以您应该使用类似的内容
import json
return {
'statusCode': 200,
'body': json.dumps({'input': event,
'busy': ck_app,
'guest_email': event['email']})
}
希望这能帮助您前进。非常感谢!仔细阅读error我发现这个错误似乎与check方法调用有关:ck_app=check(event['calID'],event['datada'],event['dataa']),返回单个参数。有可能吗?你好,恐怕我帮不了你。我只是定制了lambda,但不知道check函数是如何工作的。建议提出一个新问题来找出答案。@AleMal您只需要在“body”中使用json.dumps传递字符串