Python 来自AWS API网关调用Lambda的格式错误的Lambda代理响应

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 {

在我的项目中,我创建了一个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 {
        "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传递字符串