API 网关和 AWS Lambda 函数的问题:Lambda 代理响应格式错误
Problem with API Gateway and AWS Lambda Function: Malformed Lambda proxy response
我正在尝试使用带有 API 网关的 DotNet 核心 Lambda 函数制作 HelloWorld。
我的 lambda 函数正在返回
"{\"isBase64Encoded\":false,\"statusCode\":200,\"headers\":{\"Content-Type\":\"application/json\",\"Custom-Header\":\"application/json\"},\"body\":\"{\u0022message\u0022:\u0022ola\u0022}\"}"
Aws Lambda Function Return Print
但我的 API 网关告诉我这是格式错误的响应。
Fri May 22 16:52:12 UTC 2020 : Endpoint response body before transformations: "{\u0022isBase64Encoded\u0022:false,\u0022statusCode\u0022:200,\u0022headers\u0022:{\u0022Content-Type\u0022:\u0022application/json\u0022,\u0022Custom-Header\u0022:\u0022application/json\u0022},\u0022body\u0022:\u0022{\u0022message\u0022:\u0022ola\u0022}\u0022}"
Fri May 22 16:52:12 UTC 2020 : Execution failed due to configuration error: Malformed Lambda proxy response
Fri May 22 16:52:12 UTC 2020 : Method completed with status: 502
我找不到我做错了什么。
好的...经过更多时间的研究,我找到了正确的方法。
我试图创建自己的 JSON 字符串,但没有成功。当我尝试使用 APIGatewayProxyResponse 对象时,API 网关正确理解了 Lambda 函数的答案。
甚至 AWS Lambda 函数测试中显示的答案看起来也不一样。
AWS Lambda Function return
要使用它需要安装 nuget 包 Amazon.Lambda.APIGatewayEvents
我正在尝试使用带有 API 网关的 DotNet 核心 Lambda 函数制作 HelloWorld。
我的 lambda 函数正在返回
"{\"isBase64Encoded\":false,\"statusCode\":200,\"headers\":{\"Content-Type\":\"application/json\",\"Custom-Header\":\"application/json\"},\"body\":\"{\u0022message\u0022:\u0022ola\u0022}\"}"
Aws Lambda Function Return Print
但我的 API 网关告诉我这是格式错误的响应。
Fri May 22 16:52:12 UTC 2020 : Endpoint response body before transformations: "{\u0022isBase64Encoded\u0022:false,\u0022statusCode\u0022:200,\u0022headers\u0022:{\u0022Content-Type\u0022:\u0022application/json\u0022,\u0022Custom-Header\u0022:\u0022application/json\u0022},\u0022body\u0022:\u0022{\u0022message\u0022:\u0022ola\u0022}\u0022}"
Fri May 22 16:52:12 UTC 2020 : Execution failed due to configuration error: Malformed Lambda proxy response
Fri May 22 16:52:12 UTC 2020 : Method completed with status: 502
我找不到我做错了什么。
好的...经过更多时间的研究,我找到了正确的方法。
我试图创建自己的 JSON 字符串,但没有成功。当我尝试使用 APIGatewayProxyResponse 对象时,API 网关正确理解了 Lambda 函数的答案。
甚至 AWS Lambda 函数测试中显示的答案看起来也不一样。
AWS Lambda Function return
要使用它需要安装 nuget 包 Amazon.Lambda.APIGatewayEvents