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

如何在AWS Step Functions中用JSONata结合任务输入与Lambda执行结果?

用JSONata实现输入与执行结果的合并(类似ResultPath效果)

要实现像ResultPath那样保留原输入结构并新增执行结果属性的效果,JSONata有两种简洁的实现方式:

  • 方法1:使用对象展开语法
    JSONata支持类似JavaScript的对象展开操作符**,可以直接将原输入对象的所有属性展开,再追加新的结果属性。假设Lambda执行结果为"value_3",表达式如下:

    {**$, "lambda_result": "value_3"}
    

    执行后会完整保留原输入的input_1、input_2属性,同时新增lambda_result字段,得到你需要的目标结构。

  • 方法2:使用$merge内置函数
    利用JSONata的$merge函数,将原输入对象和包含结果属性的新对象合并:

    $merge([$, {"lambda_result": "value_3"}])
    

    $merge会遍历传入的对象数组,将所有属性合并到一个新对象中。由于原对象不存在lambda_result属性,只会新增该字段,不会覆盖原有内容。

如果Lambda返回的是复杂JSON对象(比如{"status": "success", "data": "value_3"}),只需把表达式中的"value_3"替换为该对象即可,两种方法都适用:

// 对象展开方式
{**$, "lambda_result": {"status": "success", "data": "value_3"}}

// $merge方式
$merge([$, {"lambda_result": {"status": "success", "data": "value_3"}}])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 15:04:58