【问题标题】:Retry in AWS Step Functions在 AWS Step Functions 中重试
【发布时间】:2022-11-08 18:31:59
【问题描述】:

我正在尝试通过步进函数实现 lambda 函数的无限重试 -

{
  "Comment": "A description of my state machine",
  "StartAt": "Check Export Status",
  "States": {
    "Check Export Status": {
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "OutputPath": "$.Payload",
      "Parameters": {
        "Payload.$": "$",
        "FunctionName": "arn:aws:lambda:eu-west-1:xxxx:function:xxxx:$LATEST"
      },
      "Next": "Glue StartJobRun",
      "Retry": [
        {
          "ErrorEquals": [
            "States.ALL"
          ],
          "BackoffRate": 1,
          "IntervalSeconds": 60,
          "MaxAttempts": 0
        }
      ]
    },
    "Glue StartJobRun": {
      "Type": "Task",
      "Resource": "arn:aws:states:::glue:startJobRun",
      "ResultPath": "$.error",
      "Parameters": {
        "JobName": "glue job test"
      },
      "End": true
    }
  }
}

不知何故,当 step 函数开始执行时,它只执行一次并失败并退出,而不是尝试无限次。我错过了什么?

【问题讨论】:

    标签: aws-lambda aws-step-functions


    【解决方案1】:

    您不能无限期地重试。从文档中,提到了这一点:

    最大尝试次数(可选)

    一个正整数,表示最大重试次数 尝试(默认为 3 次)。如果错误重复次数超过 指定,重试停止并恢复正常的错误处理。一个值 0 指定从不重试错误。最大尝试次数 最大值为 99999999。

    以下是参考链接:https://docs.aws.amazon.com/step-functions/latest/dg/concepts-error-handling.html#error-handling-retrying-after-an-error

    所以你可以重试99999999次,还是不少的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 2020-01-29
      • 1970-01-01
      • 2022-12-21
      • 2019-04-24
      • 1970-01-01
      • 2023-04-06
      相关资源
      最近更新 更多