AWS Step Functions调用startExecution时使用States.JsonMerge输入报错求助
AWS Step Functions 嵌套工作流输入配置错误排查
问题原因
你遇到的SCHEMA_VALIDATION_FAILED错误,核心原因是**States.JsonMerge函数中的JSON对象使用了单引号**。Step Functions的JSON Schema严格遵循标准JSON语法,而JSON要求对象的键和字符串值必须使用双引号,单引号不被语法规则认可,因此触发了验证失败。
修正后的任务步骤
将Input.$中的单引号替换为双引号,并对嵌套的双引号进行转义,即可解决问题。修正后的代码如下:
"Step": { "Type": "Task", "Resource": "arn:aws:states:::states:startExecution.sync", "Parameters": { "Name.$": "$.executionName", "StateMachineArn": "${arn}", "Input.$": "States.JsonMerge($, {\"AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID\": $$.Execution.Id}, false)" } ...
说明:在JSON字符串中嵌套双引号时,必须用反斜杠
\转义,保证整个表达式符合JSON语法规范。
内容的提问来源于stack exchange,提问作者Eliran Turgeman
相关产品推荐
相关产品推荐

