You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何变量化ARN调用子StepFunction?解决InvalidArn报错

动态传递子StepFunction ARN的解决方案

完全可以实现ARN的变量化调用,你的错误是因为参数引用语法错误,同时存在键名匹配问题,以下是修正方案:

错误原因

  1. 直接将"$.StateMachine.child_ARN"作为字符串赋值给StateMachineArn,StepFunctions会把它当成字面量ARN,而非从输入中提取变量的路径,导致ARN格式校验失败。
  2. 你的输入中存储子ARN的键是ProcessAlert_ARN,而非child_ARN,键名不匹配也会导致后续无法正确取值。

修正后的Task定义

{
  "Type": "Task",
  "Resource": "arn:aws:states:::states:startExecution",
  "Parameters": {
    "StateMachineArn.$": "$.StateMachine.ProcessAlert_ARN",
    "Input.$": "$.ExecutionInput"
  },
  "End": true
}

关键说明

  • StateMachineArn.$:通过后缀.$标记该字段为路径引用,StepFunctions会在运行时从输入的$.StateMachine.ProcessAlert_ARN位置提取实际的ARN值。
  • Input.$:如果要将父流程的ExecutionInput直接传递给子流程,直接用Input.$指向对应路径即可,无需嵌套额外结构。

修改后即可实现子StateMachine ARN的动态传递调用。

内容的提问来源于stack exchange,提问作者DBtake3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:20:21