запускать локально Шаг Функция, определенная в шаблоне SAM

Я следую руководству https://docs.aws.amazon.com/step-functions/latest/dg/sfn-local-lambda.html для локального запуска встроенной функции Step.

Но я не нашел руководства, как локально протестировать пошаговую функцию, определенную в шаблоне SAM (template.yaml).

Является ли это возможным?


person Hey Teacher    schedule 25.03.2020    source источник


Ответы (2)


В настоящее время интеграция Step Functions с SAM все еще находится на начальной стадии. Он предлагает следующие функции из документации:

Начните работу за считанные минуты, используя образец шаблона AWS SAM.

Встраивайте конечный автомат в свое бессерверное приложение.

Используйте подстановку переменных для замены ARN в вашем конечном автомате во время развертывания.

Упростите указание роли конечного автомата с помощью шаблонов политик AWS SAM.

Запускайте выполнение конечного автомата с помощью API Gateway, событий EventBridge или по расписанию в шаблоне AWS SAM.

Однако, в отличие от SAM local, которую можно использовать для локальной эмуляции Lambda и API Gateway, вы не можете эмулировать Step Functions локально с помощью SAM.

Step Functions Local - единственный официально поддерживаемый Чтобы протестировать конечные автоматы локально, в сочетании с локальной командой SAM вы можете использовать локальную версию Step Functions, вызывая локальную версию AWS Lambda.

person Xlee    schedule 13.11.2020

Вы можете использовать SDK для нужного языка и создавать свои автоматизированные тесты, следуя документации: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/StepFunctions.html.

Пример Node.js:

const stepfunctions = new AWS.StepFunctions({endpoint: 'http://localhost:8083'});

Другой вариант - использовать AWS CLI с файлами bash / sh и создавать ручные (странные) тесты, которые можно запускать с помощью npm run, например: https://docs.aws.amazon.com/step-functions/latest/dg/sfn-local-lambda.html .

$ aws stepfunctions --endpoint http://localhost:8083 <command>
person Vinícius Knob    schedule 15.04.2021