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

在AWS Step Functions Map中使用JSONata聚合统计数据

JSONata 动态统计项求和聚合方案(适配AWS Step Functions场景)

需求场景

处理来自AWS Step Functions Map Step的动态统计数组,数组中每个对象的统计键不固定,需要按键对所有对应数值求和,得到聚合后的统计对象。

输入示例

[
    {
        "stat1": 2,
        "stat2": 3 
    },
    {
        "stat1": 4,
        "stat3": 5
    }
]

目标输出

{
    "stat1": 6,
    "stat2": 3,
    "stat3": 5
}

解决方案JSONata表达式

$merge($$.$map(function($v, $k) { { $k: $v } })) ~> $each($sum)

表达式工作原理

  1. 拆分键值对:$$.$map(function($v, $k) { { $k: $v } }) 遍历输入数组中的每个统计对象,将每个对象的键值对拆分为独立的单键对象数组(例如{"stat1":2, "stat2":3}会转为[{"stat1":2}, {"stat2":3}])。
  2. 合并相同键:$merge(...) 将所有单键对象数组合并为一个对象,相同键名的数值会被自动收集为数组,得到中间结果{"stat1":[2,4], "stat2":[3], "stat3":[5]}。
  3. 数组求和:~> $each($sum) 通过链式调用,对合并后对象的每个键对应数组执行求和操作,将数组替换为最终求和数值,得到目标聚合结果。

这个方案完全适配动态键的场景,无需预设统计项列表,可直接用于AWS Step Functions的JSONata处理节点中。

内容的提问来源于stack exchange,提问作者Davide Orazio Montersino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 15:06:02