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

JSONPath表达式在AWS Step Functions数据流模拟器可用但实际运行返回空数组

问题根因

AWS Step Functions 实际运行环境的JSONPath解析器严格遵循语法规范,字符串匹配值必须用单引号包裹。你当前使用的$[?(@.granularity==H1),?(@.granularity==D),?(@.granularity==W)]表达式中,H1、D、W均为字符串常量,未加单引号会被解析器识别为未定义的变量,因此无法匹配到任何条目,返回空数组。而官方数据流模拟器的解析逻辑做了宽松兼容处理,未强制要求字符串加引号,因此出现两侧运行结果不一致的情况。

修正后的可用JSONPath表达式

推荐使用逻辑OR的规范写法,可读性更强:

$[?(@.granularity=='H1' || @.granularity=='D' || @.granularity=='W')]

如果要保留你原来的逗号分隔多过滤条件写法,仅需要给每个字符串值补充单引号即可生效:

$[?(@.granularity=='H1'),?(@.granularity=='D'),?(@.granularity=='W')]
生效验证

将修正后的表达式替换原有配置到InputPath或OutputPath中,即可正常筛选出granularity为H1、D、W的3条数组条目,和模拟器运行结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:36:04