Поскольку вы обнаружили, что состояния не присутствуют в событиях Cloudwatch, необходимо добавить это как отдельный шаг, для этого нет пути, есть шаг уведомления, который либо выполняет лямбду, либо sync
для SNS.
Существует также другой способ сделать это, так как вы можете составлять пошаговые функции пошаговых функций. Таким образом, у вас есть родительская функция шага и ваша дочерняя функция шага. Вашей дочерней пошаговой функцией может быть само пакетное задание, и тогда вы можете использовать события Cloudwatch в функции шага batch-job-step-function
:
"BatchJob" : {
"Comment": "This snippet is in the parent step function. It will kick off another step function, called: batch-job-step-function",
"Type": "Task",
"Resource": "arn:aws:states:::states:startExecution.sync",
"Parameters": {
"StateMachineArn": "arn:aws:states:us-east-1:TODO:stateMachine:batch-job-step-function",
"Input": {
"batchJobInput.$": "$$.Execution.Input.batchJobInput"
}
},
"End": true | "Next" : "TODO"
}
Теперь вы можете назначить Правила событий Cloudwatch для: arn:aws:states:us-east-1:TODO:stateMachine:batch-job-step-function