Forms 使用AWS API网关和Lambda从多部分/表单数据获取非文件体

Forms 使用AWS API网关和Lambda从多部分/表单数据获取非文件体,forms,amazon-web-services,aws-lambda,aws-api-gateway,Forms,Amazon Web Services,Aws Lambda,Aws Api Gateway,我正试图通过API网关将表单数据从多部分/form dataPOST获取到我的ASW Lambda web服务 HTTPPOST具有内容类型“multipart/form data”和URL编码的正文。文件数据也在这篇文章中发送(因此我猜是多部分的) web服务需要与第三方服务集成,因此更改POST的格式实际上不是一个选项 我已经看到了将URL编码的数据转换为JSON对象以在Lambda中使用,但这并没有达到目的 我还尝试将内容类型multipart/formdata的集成请求->映射模板设置为

我正试图通过API网关将表单数据从
多部分/form data
POST
获取到我的ASW Lambda web服务

HTTP
POST
具有内容类型“multipart/form data”和URL编码的正文。文件数据也在这篇文章中发送(因此我猜是多部分的)

web服务需要与第三方服务集成,因此更改
POST
的格式实际上不是一个选项

我已经看到了将URL编码的数据转换为JSON对象以在Lambda中使用,但这并没有达到目的

我还尝试将内容类型
multipart/formdata
的集成请求->映射模板设置为输入直通。这也没用

我确实遇到过另一个关于使用
多部分/表单数据上传文件的问题,但是由于我对文件不感兴趣,只对正文感兴趣,所以这个答案没有帮助

下面通过runscope查找截图(抱歉)


如果目标是使用Lambda,则需要向函数传递有效的JSON。目前还没有一种方法可以将Api网关中作为非JSON数据的数据JSON化

我们的短期修复(针对积压工作)是在映射模板中提供一个变量,以获取请求的原始输入。这样,您就可以使用以下模板进行简单的JSON转换:

{
    "body" : "$input.body"
}
或者类似的

有关详细信息,请查看映射模板参考:


编辑4/7-功能已作为$input发布。body

你能展示一个帖子正文的例子吗?@Ryan更新了帖子的屏幕截图。谢谢你的回答。我怀疑这只是一个JSON服务。(考虑到大多数Web API的发展方向,这并不太不合理。)我通过在这两者之间添加另一个服务来解决这一限制,这就是翻译。Hi@Jack这
$input.raw
变量可用吗?还没有,我们仍在处理积压工作中的许多其他项目。不幸的是,目前没有预计到达时间。我道歉!嘿@JackKohn AWS,我认为如果没有这个功能,就无法使用签名来验证来自Github之类的Webhook的传入请求。这对我们来说是一个相当有限的特性。关于这方面有没有更新的ETA?为了回答我自己的上述问题,AWS添加了一个名为“
”“$input.body”
”的映射,请参阅-