gpt4 book ai didi

c# - AWS Lambda c# 异步 API 调用

转载 作者:行者123 更新时间:2023-11-30 13:29:54 27 4
gpt4 key购买 nike

我有一个用 C# 编写的 AWS lambda 函数。该函数负责调用 5-6 个 API 调用(Post 请求)。

  1. 所有这些 API 调用都是独立的。
  2. 我不关心任何这些 API 调用的响应
  3. 即使我不关心后续响应,每个 API 调用也需要大约 5 秒才能完成。

问题:我希望我的 lambda 函数在一秒钟内执行并响应。我如何异步调用我的 API,以便 lambda 函数可以在我的时间限制内完成所有这些操作,而无需等待 API 调用的响应?理想情况下,我想实现一个即发即弃的 API 调用系统,该系统会立即发回最终响应。

根据 AWS lambda documentation ,我必须在 lambda 中对异步调用使用 await 运算符,以避免在异步调用完成之前完成函数。

我是不是漏掉了什么?或者有什么办法可以做到这一点?

谢谢

最佳答案

您不能在无服务器请求的“外部”运行代码。尝试这样做只会带来痛苦 - 因为您的无服务器主机不知道您的代码不完整,所以它会随意终止您的托管过程。

正确的解决方案是用队列分隔两个 lambda。第一个(面向外部的)lambda 接受 POST 请求,将消息放入队列,并将其响应返回给调用者。

第二个(仅限内部)lambda 监控队列并执行 API 调用。

关于c# - AWS Lambda c# 异步 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45628594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com