簡體   English   中英

在 AWS CDK 中設置 state 機器時,如何刪除 Lambda 調用的默認重試策略?

[英]When setting up a state machine in the AWS CDK, how do you remove the default Retry policy for a Lambda Invocation?

我正在使用 AWS CDK 創建 state 機器。 而不是默認的重試策略,如下所示:

  "Retry": [
    {
      "ErrorEquals": [
        "Lambda.ServiceException",
        "Lambda.AWSLambdaException",
        "Lambda.SdkClientException"
      ],
      "IntervalSeconds": 2,
      "MaxAttempts": 6,
      "BackoffRate": 2
    }
  ]

我只想擁有一個看起來像這樣的包羅萬象的政策:

"Retry": [
    {
      "ErrorEquals": [
        "States.ALL"
      ],
      "IntervalSeconds": 10,
      "MaxAttempts": 3,
      "BackoffRate": 1.5
    }
  ]

不幸的是,我在部署堆棧時找不到刪除默認策略的方法。 我的包羅萬象只是被添加到重試策略數組的末尾。

"Retry": [
    {
      "ErrorEquals": [
        "Lambda.ServiceException",
        "Lambda.AWSLambdaException",
        "Lambda.SdkClientException"
      ],
      "IntervalSeconds": 2,
      "MaxAttempts": 6,
      "BackoffRate": 2
    },
    {
      "ErrorEquals": [
        "States.ALL"
      ],
      "IntervalSeconds": 10,
      "MaxAttempts": 3,
      "BackoffRate": 1.5
    }
  ]

任何人都知道如何擺脫默認策略?

我在文檔中找到了答案 當您創建名為retryOnServiceExceptions的 LambdaInvoke 任務時,您可以設置一個標志。 將其設置為 false 會刪除默認的重試策略。

var submitOrder = new sfnt.LambdaInvoke(this, "SubmitOrder", {
  lambdaFunction: submitOrderLambda,
  comment: "Call the orders api to submit the order update",
  retryOnServiceExceptions: false   
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM