Ora*_*ree 3 c# lambda amazon-web-services async-await aws-lambda
我有一个用c#编写的AWS lambda函数.该函数负责调用5-6个API调用(Post请求).
问题:我希望我的lambda函数能够在一秒钟内执行并响应.我如何异步地进行API调用,以便lambda函数可以在我的时间限制内完成所有这些,而无需等待API调用的响应?理想情况下,我想实现一个火灾并忘记API调用系统,该系统可以毫无延迟地发送最终响应.
根据AWS lambda 文档,我必须在lambda中使用await运算符和异步调用,以避免在异步调用完成之前完成该函数.
我在这里错过了什么吗?或者有办法实现这一目标吗?
谢谢
您无法在无服务器请求的"外部"运行代码.尝试这样做只会带来痛苦 - 因为您的无服务器主机不知道您的代码是不完整的,它可以随时终止您的托管过程.
正确的解决方案是让两个 lambda由队列分隔.第一个(面向外部的)lambda接受POST请求,在队列上删除消息,并将其响应返回给调用者.
第二个(仅限内部的)lambda监视队列并执行API调用.
对于您的用例,使用AWS Step函数将提供完全托管的解决方案。步骤如下。
与自定义Lambda流实现相比,使用Step函数没有什么好处。
| 归档时间: | 
 | 
| 查看次数: | 2121 次 | 
| 最近记录: |