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

异步AWS Lambda调用

赵浩邈
2023-03-14

我有一个由S3推送事件触发的AWS Lambda。lambda将调用一个API,这将触发一个长时间运行的进程。我认识到我可以配置S3异步调用lambda函数,因此S3不会等待响应,但我很想知道我是否可以配置lambda异步调用我的API。我不希望lambda在过程完成时等待几分钟。有人能给我指出一些概述这个过程的留档吗?提前谢谢。

共有1个答案

凌博实
2023-03-14

我认为Lambda无法做到这一点,我也不推荐一种解决方法。SenseDeep上有一篇文章对此进行了讨论,并特别指出“如果我们不调用“wait”,因此不等待来自HTTP请求的响应,会发生什么?”“奇怪的事情发生了”-也就是说,在lambda中调用异步调用然后立即返回会产生不可预测的结果。

为什么你需要Lambda快速返回?如果有一个合理的原因(例如,您想要一个推送通知,说明S3中的某些内容已立即更改),那么我建议使用不同的模式。

  1. 更新S3触发lambda
  2. lambda写一个SNS主题,做任何你想做的快速动作
  3. 有一个SNS主题的订阅者执行您想要的长时间运行操作
 类似资料:
  • 本文向大家介绍JavaScript 异步调用,包括了JavaScript 异步调用的使用技巧和注意事项,需要的朋友参考一下 问题 可修改下面的 aa() 函数,目的是在一抄后用 console.log() 输出 want-value 但是,有额外要求: aa() 函数可以随意修改,但是不能有 console.log() 执行 console.log() 语句里不能有 setTimeout 包裹 解

  • Provider端异步执行将阻塞的业务从Dubbo内部线程池切换到业务自定义线程,避免Dubbo线程池的过度占用,有助于避免不同服务间的互相影响。异步执行无益于节省资源或提升RPC响应性能,因为如果业务执行需要阻塞,则始终还是要有线程来负责执行。 注意:Provider端异步执行和Consumer端异步调用是相互独立的,你可以任意正交组合两端配置 Consumer同步 - Provider同步 C

  • 从v2.7.0开始,Dubbo的所有异步编程接口开始以CompletableFuture为基础 基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。 使用CompletableFuture签名的接口 需要服务提供者事先定义CompletableFuture签名的服务,具体参见服务端异步执行接口定义: public interface Asyn

  • 同步调用异步方法最安全的方法是什么?

  • 问题内容: 我正在尝试使用Okhttp库通过API将我的Android应用程序连接到服务器。 单击按钮就会发生我的API调用,并且我收到以下 android.os.NetworkOnMainThreadException 。我了解这是由于我正在尝试在主线程上进行网络调用,但是我也正努力在Android上寻找一种干净的解决方案,以使该代码如何使用另一个线程(异步调用)。 上面是我的代码,并且在行上抛