Python无法读取API Gateway请求中的主体吗?
Python无法读取API Gateway请求中的主体吗?
我正在尝试编写一个通过 API Gateway 端点触发的 Lambda 函数的代码。简单地返回事件,我可以看到响应中有一个 body:
def lambda_handler(event, context): return str(event)
响应:
{ 'version': '2.0', 'routeKey': 'ANY /identify', 'rawPath': '/default/identify', 'rawQueryString': '', 'headers': { ... }, 'requestContext': { ... }, 'body': '', 'isBase64Encoded': True }
然而,一旦我尝试只返回 body,我就会得到以下错误(包含了多个示例,它们都返回相同的错误)。
def lambda_handler(event, context): return str(event['body'])
def lambda_handler(event, context): return json.loads(event['body'])
def lambda_handler(event, context): params = parse_qs(event["body"])
def lambda_handler(event, context): return event['body']
{ "errorMessage": "'body'", "errorType": "KeyError", "requestId": "5acbcc66-da05-429f-baa9-6c8d83801b4f", "stackTrace": [ " File \"/var/task/lambda_function.py\", line 10, in lambda_handler\n return json.loads(event['body'])\n" ] }
有什么想法吗?