如何将ClusterId值传入嵌套的AWS Step Functions
解决Step Function间传递ClusterId变量的问题
你的问题出在参数引用的写法上,当前配置里"ClusterId": "$.ClusterId"会被当作普通字符串传递,Step Functions未将其解析为JSONPath引用。以下是两种可行的修正方案:
方案一:字段级JSONPath引用
在需要传递的字段名末尾添加.$,明确告知Step Functions该字段的值为JSONPath表达式:
"TRIGGER STEP FUNCTION 2": { "Type": "Task", "Resource": "arn:aws:states:::states:startExecution.sync", "Parameters": { "StateMachineArn": "arn:aws:states:us-east-1:312312312312123:stateMachine:STEP FUNCTION 2", "Input": { "ClusterId.$": "$.ClusterId" } } }
方案二:整体Input引用
通过Input.$直接传递构造好的JSON结构字符串,其中用JSONPath填充变量:
"TRIGGER STEP FUNCTION 2": { "Type": "Task", "Resource": "arn:aws:states:::states:startExecution.sync", "Parameters": { "StateMachineArn": "arn:aws:states:us-east-1:312312312312123:stateMachine:STEP FUNCTION 2", "Input.$": "{\"ClusterId\": \"$.ClusterId\"}" } }
两种方案都能让Step Function 2收到预期的{"ClusterId": "j-AAAAAAA"}输入,其中方案一的写法更直观易维护。
内容的提问来源于stack exchange,提问作者dp6000
相关产品推荐
相关产品推荐

