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" }
}
}
我有一个步骤函数在最后一步失败了,这是一个超时的 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" }
}
}