我的用例:從 spring-boot 應用程式中,我將有效負載發布到 AWS SNS,此 SNS 正在觸發 Lambda 函式。
如果 lambda 函式失敗,AWS lambda 上是否有任何可用配置,我們可以在其中指定重試次數和每次重試發生的持續時間?
uj5u.com熱心網友回復:
遺憾的是,您無法控制檔案中解釋的重試策略:
除 HTTP/S 外,您無法更改 Amazon SNS 定義的傳輸策略。
uj5u.com熱心網友回復:
https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html指定 Lambda 的重試策略:
| 立即重試(無延遲)階段 | 預退避階段 | 退避階段 | 后退避階段 | 總嘗試次數 |
|---|---|---|---|---|
| 3次,無延遲 | 2 次,間隔 1 秒 | 10 次,指數退避,從 1 秒到 20 秒 | 100,000 次,間隔 20 秒 | 100,015 次,超過 23 天 |
還有注釋
除 HTTP/S 外,您無法更改 Amazon SNS 定義的傳輸策略。只有 HTTP/S 支持自定義策略。請參閱創建 HTTP/S 傳送策略。
因此,不,您不能更改 SNS 對 Lambda 呼叫的重試行為。您可以做的是為 SNS 訂閱一個 SQS 佇列,然后讓您的 lambda 被該佇列觸發。在 SQS 上,您可以在一定程度上配置重試行為:https ://docs.aws.amazon.com/lambda/latest/operatorguide/sqs-retries.html 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/482362.html
上一篇:ElasticBeanstalk未執行掛鉤:“跳過/opt/elasticbeanstalk/hooks/下的掛鉤腳本”
