AWS Stepfunction:从另一个 Stepfunction 调用时定义(前缀)名称



我有一个StepFunction,它触发了另一个StepFunction。没问题。

但是,我想自定义内部执行的名称。例如,我在我的外部StepFunction

中有以下状态
"Trigger Inner StepFunction": {
"Type": "Task",
"Resource": "arn:aws:states:::states:startExecution.sync",
"Parameters": {
"StateMachineArn": "arn:aws:states:eu-west-1:xxxxx:stateMachine:InnerStepFunc",
"Name": "$.Name",
"Input": {
"StatePayload": "Hello from Step Functions!",
"AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"
}
},
"Next": "NextStep"
}

然后我得到以下错误:无效名称:'$。服务名称:AWSStepFunctions;状态码:400;错误代码:InvalidName;请求ID: 6834b793-667b-4c58-ae19-a1b311a82ee9;代理:null),

如果我删除了"name"属性下面的StateMachineArn属性,然后它工作,内部步骤函数被触发与一个随机id作为执行名称。

但是我如何动态地操作这个名字呢?要么我想通过外部步骤函数的输入来定义它,要么定义一个前缀,后跟一个随机id。

有谁能给我点提示吗?注:我已经考虑过使用由外部StepFunction调用的lambda函数,并触发InnerStepFunction。但对我来说,重要的是外部StepFunction在完成之前等待完成。并且Inner-StepFunction需要的时间超过15分钟(因此Lambda的同步调用不是一个选项)

您可以使用下面的语法设置它。请记住,如果您传递的名称已经在阶跃函数中存在,则阶跃函数将失败。

"名字。"美元:".Name&quot美元;

最新更新