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

AWS Step Functions:States.JsonMerge硬编码JSON兼容实现方法

合规实现AWS Step Functions添加硬编码JSON字段的方法

你遇到的问题本质是Step Functions数据模拟器的校验逻辑比实际部署宽松——直接在States.JsonMerge里写硬编码JSON对象的写法,模拟器能通过,但实际状态机定义会被拒绝,因为Step Functions的Path语法规则要求内置函数的参数必须是合法路径引用,或是其他支持的内置函数返回值,不能直接内嵌硬编码JSON。

给你两种合规的实现方式:

方式一:用States.JsonParse配合States.JsonMerge

把硬编码的JSON转成字符串,再通过States.JsonParse解析成JSON对象,作为States.JsonMerge的参数,完全符合语法规则:

{
  "input.$": "States.JsonMerge($, States.JsonParse('{\"newKey\": 1}'), false)"
}

这种方式和你原来的需求完全匹配,第三个参数false表示如果原输入已有newKey字段,保留原值不覆盖。

方式二:直接用Parameters字段映射(更简洁)

如果只是添加固定字段,不需要复杂合并逻辑,可以直接在Parameters里显式声明,搭配ResultPath实现合并:

{
  "Type": "Pass",
  "Parameters": {
    "newKey": 1,
    "$": "$"
  },
  "ResultPath": "$"
}

这种写法会把原输入的所有字段和newKey平级合并,注意如果原输入已有newKey,这里会直接覆盖它——如果需要保留原值,还是用第一种方式更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 17:00:53