У меня есть пошаговая функция, которая по существу выполняет следующие действия:
[START]
Запустите лямбда-выражение для запуска запроса Athena, верните QueryID [POLL]
Запустите a Лямбда, чтобы проверить статус запроса, информация о состоянии возврата - Выбор состояния.
- Если
STATUS = SUCCESS
-> [PROCESS_RESULTS]
- Если
STATUS = RUNNING
-> Подождите 30 секунд, [POLL]
- Если
STATUS = FAILED
-> [FAILURE_STEP]
STATUS = FAILED
не так, как лямбда-сбой, он вернул правильный результат, но этот результат должен был сказать, что запрос не выполнен. В последнее время я видел больше ошибок «Запрос исчерпаны ресурсы в таком масштабе» на Афине, но они почти всегда работают во второй раз. Я хотел бы настроить его так, чтобы он повторил попытку [START]
с паузой и экспоненциальным откатом, как это определено в документации по пошаговым функциям, аналогично следующему:
"Retry": [ {
"ErrorEquals": [ "ErrorA", "ErrorB" ],
"IntervalSeconds": 1,
"BackoffRate": 2.0,
"MaxAttempts": 2
},
Но, похоже, это относится только к реальной ошибки , как в исключениях. Есть ли способ реализовать это, основываясь на технически без ошибок?