Я реализовал конечный автомат EXPRESS и пытаюсь получить список выполнений конечного автомата. Ниже приведен мой фрагмент кода:
const stepFunction = new SFN({ region: REGION });
const listExecutionsInput = {
stateMachineArn: STATE_MACHINE_ARN,
statusFilter: ExecutionStatus.RUNNING,
};
const runningStateMachines = await stepFunction.listExecutions(listExecutionsInput);
Однако выдает следующую ошибку:
{
message: 'This operation is not supported by this type of state machine',
error: {
name: 'StateMachineTypeNotSupported',
$fault: 'client',
$metadata: {
httpStatusCode: 400,
requestId: 'ciefq5881-6713-4662-b8fe-e0ddqa9ef4d1',
attempts: 1,
totalRetryDelay: 0,
},
__type: 'com.amazonaws.swf.service.v2.model#StateMachineTypeNotSupported',
},
platform: 'Unknown',
releaseId: 'Unknown',
incomingHttpRequest: {},
fatal: true,
}
В ходе дальнейшего расследования я обнаружил, что действие API listExecutions не поддерживается конечными автоматами EXPRESS. Мне интересно, есть ли альтернативное действие API, которое может предоставить хотя бы имена последних выполнений. Могли бы вы, пожалуйста, посоветовать?
Для получения дополнительной информации вы можете обратиться к документации: https://docs.aws.amazon.com/step-functions/latest/apireference/API_ListExecutions.html
Это одно из ключевых различий между стандартными и экспресс-рабочими процессами. Подробнее об этом можно прочитать здесь: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html
Express Workflows не ведет список выполнения в сервисе Step Functions . Однако при желании вы можете включить запись истории выполнения в журналы CloudWatch , а затем запрашивать эту информацию из своих журналов (например, с помощью CloudWatch Logs Insights ). Консоль Step Functions включает возможность представления этой информации из ваших журналов, которую вы также можете включить ( подробнее здесь).