Значение Aws Pass от лямбда-триггера до ступенчатой ​​функции - PullRequest
0 голосов
/ 27 августа 2018

Когда вы используете лямбда-функцию для запуска пошаговой функции, как получить выход функции, которая ее сработала?

1 Ответ

0 голосов
/ 31 августа 2018

Хорошо, поэтому, если вы хотите передать вход для выполнения пошаговой функции (или, точнее, для выполнения 'State Machine' ), вам просто нужно задать указанный вход input свойство при вызове StartExecution (см. Документация AWS: начало выполнения )

В вашем случае, скорее всего, это будет последний шаг вашей лямбды перед вызовом обратного вызова.

Если это узел js лямбда, то вот как это будет выглядеть

const AWS = require("aws-sdk");
const stepfunctions = new AWS.StepFunctions();

exports.myHandler = function(event, context, callback) {

    ... your function's code

    const params = {
       stateMachineArn: 'YOUR_STATE_MACHINE_ARN', /* required */
       input: 'STRINGIFIED INPUT',
       name: 'AN EXECUTION NAME (such as an uuid or whatever)'
    };
    stepfunctions.startExecution(params, function(err, data) {
       if (err) callback(err); // an error occurred
       else     callback(null, "some success message"); // successful response
    });

}

В качестве альтернативы, если ваша полезная нагрузка слишком велика, вы можете сохранить данные в S3 или DynamoDB и передать ссылку на них в качестве входных данных выполнения вашего конечного автомата.

...