所以我尝试使用与无服务器框架的 REST api 网关设置异步集成 -
它说
functions:
create:
handler: myHandler
events:
- http:
path: foo/test1
method: post
async: true <-- This will invoke the Lambda return a 200 code but still run the Lambda
然而这并没有发生。当我尝试离线运行时,我不断收到
<pre>BadRequestError: request size did not match content length<br> at IncomingMessage.onEnd
错误。当我注释掉 async
设置时它消失了,但有时可以工作(全部离线)
但是一旦部署,我可以看到 200 返回,但 Lambda 根本不执行。我在那里登录了,但这些都没有被触发。 关于如何实现这种行为有什么想法吗?我需要运行一些较长的进程,并且不想因此让用户等待响应。
这个设置有问题吗?我找不到太多这方面的文档,并且已经搜索了相当长的时间。因此,任何正确方向的帮助或指示都会很棒。
谢谢!
我也有类似的问题。 就我而言,事实证明这是因为发送的请求有标头
Content-Type: application/json
尽管有请求,但它是一个没有正文内容的 GET。
删除标头 Content-Type 有帮助