我在平台上运行了2个lambda函数。Lambda A同步调用Lambda B以将其响应用于进一步处理。在正常情况下,它会很好地工作,但是如果满足lambda并发执行限制,会发生什么情况?这是我可以从AWS文档中读取的内容:
Clients such as the AWS CLI and the AWS SDK retry on client timeouts, throttling errors (429), and other errors that aren't caused by a bad request (500 series). For a full list of invocation errors, see Invoke.
但是我不确定他们将重试多少次/多少次。当它收到429响应时,是否需要向lambda A添加逻辑以一定间隔重试?如果有人对此问题有深入的了解,请帮助我。
通常,SDK将使用指数补偿来重新尝试尝试调用Lambda函数。当您从另一个Lambda函数调用时,这可能导致增加的调用时间或原始Lambda的超时。
处理Lambda函数链的一种建议是使用AWS Step Functions替换调用另一个Lambda的Lambda的功能。
AWS Step Functions服务允许您构建状态机,在您的情况下,您可以构建状态机,然后将Lambda A的输出传递到Lambda B,并具有用于处理重试和故障的内置逻辑。
有关此方法的更多信息,请参阅“创建无服务器工作流”文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句