我能够使用以下技术从 Serverless v2 中的 lambda 启动状态机:
const request = {
data: someDataGoesHere
};
const params = {
stateMachineArn: process.env.statemachine_arn,
input: JSON.stringify(request),
name: uniqueNameGoesHere,
};
const steps = new SFNClient({region: "us-east-1"});
const command = new StartSyncExecutionCommand(params);
console.log("Starting State Machine", params);
const result = await steps.send(command);
console.log("Back from State Machine", result);
将无服务器框架升级到版本 3 后,此代码会静默失败 - 调用steps.send(command)
永远不会返回并且 lambda 超时(因此“从状态机返回”永远不会写入 lambda 的日志)。没有在 CloudWatch 日志中为 step 函数创建条目,因此似乎没有任何方法可以找出问题所在。我已验证 stateMachineArn 设置正确。
我已经尝试删除并重新部署整个堆栈,但仍然无法启动 step 功能。任何调试建议将不胜感激!