【发布时间】:2021-04-05 19:02:14
【问题描述】:
我正在尝试从 Node.js lambda 函数调用步进函数。我从thread 尝试了解决方案并更新了实现。
显示错误响应但更新代码显示成功响应的解决方案。但是更新后的代码并没有调用 step 函数。
我的代码:
console.log('Loading function');
const AWS = require('aws-sdk');
exports.handler = function(event, context) {
console.log('Loading step functions');
const stepFunctions = new AWS.StepFunctions({
region: 'us-east-2'
});
console.log('Loading init');
module.exports.init = (event, context, callback) => {
console.log('Loading params');
const params = {
stateMachineArn: 'ARN of My State Machine',
// input: JSON.stringify({}), Optional if your statemachine requires an application/json input, make sure its stringified
name: 'TestExecution' // name can be anything you want, but it should change for every execution
};
console.log('start step functions');
stepFunctions.startExecution(params, (err, data) => {
if (err) {
console.log(err);
const response = {
statusCode: 500,
body: JSON.stringify({
message: 'There was an error'
})
};
callback(null, response);
} else {
console.log(data);
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'Step function worked'
})
};
callback(null, response);
console.log(response);
}
});
};
};
我已将上述代码添加到 Lambda 函数中并部署这些代码。之后,我使用了 lambda 函数的 Test 选项。这是执行 Lambda 函数的正确方法吗?测试结果是成功,但是当我检查状态机时,最近没有执行。帮我找到解决方案,我对步进功能很陌生。提前致谢。
【问题讨论】:
-
您使用的是标准步进功能还是快速步进功能? Express Step 函数没有执行历史记录,启用后只能看到 cloudwatch 日志,而在 step 函数控制台中什么也看不到
-
@BaluVyamajala Mine 是标准阶跃函数,当我运行 lambda 函数时,执行成功,但阶跃函数没有任何反应。我的步进函数返回一个随机整数,但这里的 lambda 函数没有输出。
标签: amazon-web-services aws-lambda aws-step-functions