我通过调用API网关端点开始执行状态机。 如果没有执行ID,如何在lambda中接收执行ID或如何在lambda中停止状态机执行?
*此lambda是状态机状态。
答案 0 :(得分:0)
要停止在lambda中执行状态机:
1)在映射模板中添加“名称”参数,并将此参数传递给lambda(如果不使用API网关映射模板,则可以在请求正文中传递名称)。它应该是唯一的。
#set($allParams = $input.path('$'))
#set($discard=$allParams.put('executionName', $context.requestId))
{
"input": "$util.escapeJavaScript($input.json('$'))",
"name": "$context.requestId",
"stateMachineArn": "arn here"
}
2)合并执行ID:
arn:aws:states:yourRegion:yourAccountId:execution:yourStateMachineName:executionName(which you have specified above)
3)使用步骤2中的执行ID,停止使用AWS JS SDK方法 stepfunctions.stopExecution()执行。