当前位置: 首页 > 知识库问答 >
问题:

回复然后继续使用AWS Lambda/API网关?

程亦
2023-03-14

我目前有一个Web钩子,它调用AWS API网关-

我继续从Lambda(节点v6.10)上做了这个早期回复,但它似乎没有改善响应能力。API网关是否在等待Lambda完成执行,尽管已经收到了回调的响应?

另一个想法是发布来自Lambda的SNS通知,并让第二个Lambda监听并继续处理,但如果有更简单的方法,则宁愿避免这种复杂性。

共有1个答案

雍河
2023-03-14

API网关目前只支持Lambda函数的同步调用(akaInvocationType:RequestResponse),因此是的,它正在等待Lambda的完整响应。

为了支持您的用例,您可以使用SNS或其他中介AWS服务,如Kinesis、SQS等,但也可以单独使用Lambda。让第一个Lambda函数与InvocationType:'Event'异步触发第二个Lambda函数,这将达到您想要的效果。

看到这篇文章更多的细节:https://stackoverflow.com/a/31745774/5705481

 类似资料:
  • 问题内容: 我有一个JavaScript代码,需要向其中添加睡眠/等待功能。我正在运行的代码已经在一个函数中,例如: 我听说可能的解决方案可能包括 但我不确定在这种情况下如何使用它。 我不能使用PHP,因为我的服务器不支持PHP,尽管使用jQuery可以。 问题答案: JS没有睡眠功能,它具有 setTimeout() 或setInterval() 函数。 如果您可以将暂停后需要运行的代码移到回调

  • 在一些请求中,我们会做一些日志的推送、用户数据的统计等和返回给终端数据无关的操作。而这些操作,即使你用异步非阻塞的方式,在终端看来,也是会影响速度的。这个和我们的原则:终端请求,需要用最快的速度返回给终端,是冲突的。 这时候,最理想的是,获取完给终端返回的数据后,就断开连接,后面的日志和统计等动作,在断开连接后,后台继续完成即可。 怎么做到呢?我们先看其中的一种方法: local response

  • 问题内容: 使用Java Servlet API(HttpServletResponse)处理整个请求后,是否可以发送“ 100 Continue” HTTP状态代码,然后发送其他一些状态代码? 我找不到任何明确的“否”答案,尽管API似乎不支持它。 问题答案: 我假设您的意思是“ 100继续”。 答案是:不,您不能(至少不是它的预期方式,作为临时响应)。通常,当请求需要时,servlet引擎会自

  • 问题内容: 我的document.ready()中有一些ajax调用 喜欢 : 我如何强制它等待,直到我们从ajax请求获得所有回叫之前不继续? 问题答案: 我根本不喜欢任何答案,最好的方法(自Jquery 1.5+起)是使用Deferred对象,这些是操纵异步调用的对象,可以解决: 这样,myFunc会在执行2个ajax调用之后执行,如果其中一个出错,则执行myFailure。 您可以在jque

  • 问题内容: 在 puppeteer中, 我想等待定义的时间后再转到下一行代码。 我尝试将a 放入评估函数中,但似乎只是被忽略了 此代码不等待,仅 在等待之前 和 之后 编写 __ 你知道怎么做吗? 问题答案: 您可以使用一点承诺功能, 然后,在需要延迟的任何时候调用它。 如果必须使用操纵符,请使用内置的waitFor函数。 如果仍然要使用page.evaluate,请在4​​秒钟后解决。您没有解决