【发布时间】:2022-10-06 18:02:52
【问题描述】:
我希望将我的 Lambda 与我的 Step Function 连接起来,但无法弄清楚为什么它不会 startExecution。
开发工具包代码:
import AWS from "aws-sdk";
const stepfunctions = new AWS.StepFunctions({ apiVersion: "2016-11-23" });
interface Params {
stateMachineArn: string;
input: string;
}
export async function handler(event: any, context: object) {
console.log("event.body", event.body);
const params: Params = {
stateMachineArn: process.env.STEP_FUNCTION_ARN,
input: JSON.stringify(event.body),
name: "testNameField",
};
console.log("PARAMS", params);
stepfunctions.startExecution(params, (err: any, data: any) => {
if (err) {
console.log("THERE WAS AN ERROR", err);
console.log("ERROR STACK", err.stack);
} // an error occurred
else {
console.log("data", data);
} // successful response
});
}
权限:
Allow: states:DeleteStateMachine
Allow: states:StartExecution
Allow: states:CreateStateMachine
Allow: states:SendTaskSuccess
Allow: states:DeleteActivity
Allow: states:SendTaskHeartbeat
Allow: states:CreateActivity
Allow: states:SendTaskFailure
Allow: states:StopExecution
Allow: states:GetActivityTask
Allow: states:UpdateStateMachine
Allow: states:StartSyncExecution
额外的信息:
- 我已尝试在控制台上对 lambda 函数进行“测试”, 它从中成功。我不知道还能去哪里看。
- 在 step 函数中,所有列 (总计/正在运行/成功/失败/超时/中止)为 0。
- 参数
console.log提供了正确的信息
【问题讨论】:
标签: amazon-web-services lambda aws-step-functions