AWS Step Function - 仅重新运行一个步骤

AWS Step Function - Rerun one Step only

我有一个步骤函数在最后一步失败了,这是一个超时的 lambda 函数。我只能 运行 lambda,但是有没有办法 运行 步骤函数的最后一步(就像重试那个特定步骤一样)。

我不想重新运行整个事情,因为其他一切都是正确的并且依赖于日常数据。 谢谢

是的,您可以 retry 一个单独的步骤函数任务。

此示例使用退避重试 lambda 任务 2 次,包括在 lambda 超时错误之后:

{
  "StartAt": "LambdaTask",
  "States": {
    "LambdaTask": {
      "Next": "Success",
      "Retry": [
        {
          "ErrorEquals": ["States.ALL"],  // can also narrow this to specific errors - a timeout error is "Lambda.Unknown"
          "MaxAttempts": 2, // How many times to retry
          "IntervalSeconds": 2,  // How many seconds to wait initially before retrying.
          "BackoffRate": 3 // Multiplication for how much longer the wait interval gets on every retry.
        }
      ],
      "Catch": [{ "ErrorEquals": ["States.ALL"],"Next": "Fail"}
      ],
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "Parameters": {
        "FunctionName": "arn:aws:lambda:us-east-1:XXXXXXXXXX",
        "Payload.$": "$"
      }
    },
    "Success": { "Type": "Succeed" },
    "Fail": { "Type": "Fail" }
  }
}