Aws lambda lambda代理响应格式错误,can';我找不到错误
我试图使用lambda和api网关从我的api获取数据,在发送get请求时,我收到以下错误:Aws lambda lambda代理响应格式错误,can';我找不到错误,aws-lambda,aws-api-gateway,Aws Lambda,Aws Api Gateway,我试图使用lambda和api网关从我的api获取数据,在发送get请求时,我收到以下错误: Execution failed due to configuration error: Malformed Lambda proxy response 代码返回: return { 'statusCode': 200, 'headers': {'Content-Type': 'application/json'}, 'Access-Control-Al
Execution failed due to configuration error: Malformed Lambda proxy response
代码返回:
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'Access-Control-Allow-Origin': '*' ,
"isBase64Encoded": False,
'body': json.dumps(data)
}
我做错了什么?代理响应必须是一个字典,它:
标题
body
isbase64编码
多值标题
statusCode
访问控制允许源
,这就是为什么API网关声称这是一个格式错误的响应。上面链接的文档甚至明确指出,Access Control Allow Origin
必须是标题的一部分
:
要为Lambda代理集成启用CORS,必须将访问控制允许来源:域名
添加到输出标题中。域名
可以是任何域名的*
如果您将响应更改为以下内容,它应该可以正常工作:
返回{
“状态代码”:200,
“标题”:{
“访问控制允许来源”:“*”,
“内容类型”:“应用程序/json”
},
“isBase64Encoded”:False,
“body”:json.dumps(数据)
}