AWS Step 函数重试逻辑,最大 IntervalSeconds?

AWS Step functions Retry logic, maximum IntervalSeconds?

我正在使用 AWS Step 函数步骤,更具体地说是错误处理。

在此文档中:https://docs.aws.amazon.com/step-functions/latest/dg/concepts-error-handling.html,它提到我们可以在步骤重试步骤失败时使用 Retry 子句:

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

我可以设置的最大值 IntervalSecondsMaxAttempts 是多少?我希望能够重试 2-4 天的跨度,每 4 小时重试一次。是否可以将这些字段设置为那么高的值?示例:

"Retry": [ {
   "ErrorEquals": [ "States.ALL" ],
   "IntervalSeconds": 14400,
   "MaxAttempts": 12,
   "BackoffRate": 1
} ]

IntervalSecondsMaxAttempts 的最大值为 99999999。 我在文档中没有看到任何提及它,但您可以通过尝试在控制台中或使用 API 创建示例状态机来验证。即

{
    "Comment": "A Retry example of the Amazon States Language using an AWS Lambda Function",
    "StartAt": "HelloWorld",
    "States": {
        "HelloWorld": {
            "Type": "Task",
            "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:FUNCTION_NAME",
            "Retry": [
                {
                    "ErrorEquals": ["CustomError"],
                    "IntervalSeconds": 99999999,
                    "MaxAttempts": 99999999,
                    "BackoffRate": 2.0
                },
                {
                    "ErrorEquals": ["States.TaskFailed"],
                    "IntervalSeconds": 99999999,
                    "MaxAttempts": 99999999,
                    "BackoffRate": 2.0
                },
                {
                    "ErrorEquals": ["States.ALL"],
                    "IntervalSeconds": 99999999,
                    "MaxAttempts": 99999999,
                    "BackoffRate": 2.0
                }
            ],
            "End": true
        }
    }
}