AWS Step Function:从另一个 Step Function 调用时定义(前缀)-Name

AWS Stepfunction: Define (Prefix)-Name when it's called from another 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"
}

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

如果我删除了 StateMachineArn 属性 下面的“名称”属性,那么它就可以工作,并且内部的 stepfunction 被触发,随机 id 作为执行名称。

但是我怎样才能动态地操作名称呢?我想通过外部步骤函数的输入来定义它,或者定义一个前缀后跟一个随机 ID。

有没有人给我提示?

P.S。我已经考虑过使用由外部 StepFunction 调用并触发 InnerStepFunction 的 lambda 函数。 但对我来说,重要的是外部 StepFunction 在完成之前等待完成。 而 Inner-StepFunction 花费的时间超过 15 分钟。 (因此来自 Lambda 的同步调用不是一个选项)

您可以使用下面的语法进行设置。请记住,如果您传递的名称已存在于步骤函数中,您的步骤函数将失败。

"姓名.$": "$.姓名"