Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To transfer Lambda and Step Function Context to Catch Result on AWS, you can follow the steps mentioned below:

  1. In the AWS Lambda function, set up a try-catch block to catch any errors that may occur during execution.

  2. Within the catch block, use the context parameter to retrieve the AWS Step Function execution context. You can do this using the following code:

module.exports.handler = async (event, context) => {
  try {
    // your Lambda function code here
  } catch (error) {
    console.log('Error:', error);
    const stepFunctionContext = JSON.parse(context.executionContext);
    const taskToken = stepFunctionContext.taskToken;

    // Update the Step Function state with the error message
    const params = {
      taskToken: taskToken,
      error: error.message
    };
    await new AWS.StepFunctions().sendTaskFailure(params).promise();
  }
};

  1. Once you have retrieved the Step Function context, extract the taskToken from it. This token can be used to update the Step Function state with the error message.

  2. Finally, use the AWS SDK to update the Step Function state with the error message by calling the sendTaskFailure() method. Pass in the taskToken and the error message as parameters to this method.

By following these steps, you can transfer Lambda and Step Function context to Catch Result on AWS, and ensure that any errors encountered during execution are properly handled and updated in the Step Function state.