首页 > 解决方案 > 通过 API Gateway 将 YAML 有效负载传递给 Lambda 函数

问题描述

我想知道是否真的可以使用 API Gateway POST 方法将 YAML 有效负载格式传递给 AWS Lambda 函数。我不想要任何有效负载模型或使用模板对有效负载进行任何检查。我只想以 YAML 格式将数据传递给 Lambda。有没有人成功地做到了这一点?

我之前使用 JSON 有效负载将有效负载传递给 Lambda,但由于某些设计问题,我觉得 YAML 格式的有效负载更适合该任务。我尝试在请求正文中传递 YAML 有效负载,但收到以下错误。我将方法请求标头保留为Accept:application/yaml。我将方法请求中的请求正文内容类型保留为application/yaml

Thu Aug 15 23:47:58 UTC 2019 : Lambda invocation failed with status: 400. Lambda request id: 66991273-f3fd-427f-85a3-eafe4f94251b
Thu Aug 15 23:47:58 UTC 2019 : Execution failed: Could not parse request body into json:

我还搜索了文档,但找不到太多相同的内容。我想知道这是否得到支持。 在此处输入图像描述

标签: amazon-web-servicesaws-lambdayamlaws-api-gatewayapi-gateway

解决方案


API Gateway 仅支持解析和验证JSON 有效负载。一种解决方法是处理有效负载的 lambda 函数。将内容类型设置为纯文本,在 lambda 函数内,解析请求正文并验证。

可以在event.body启用 Lambda 代理集成时检索请求正文。


推荐阅读