是否可以向 InputPath 添加新的键/值?

2024-06-26

我需要使用新属性扩展 Step Functions 状态的 InputPath,而不更改初始 InputPath 的结构。

例如,我的输入路径如下所示:

{
    "key1": "value1",
    "key2": "value2"
}

我需要在此处添加一对新的键/值并将其传递给 Lambda。因此,我想要的是:

{
   "key1": "value1",
   "key2": "value2",
   "key3": "value3"
}

但我还没有找到如何实现这一点的方法。我能够做的是使用参数更改 InputPath 的结构:

"InputPath": "$",
"Parameters": {
    "input.$": "$",
    "newValue": "value3"
}

所以我得到具有以下结构的 JSON:

{
    "input": {
        "key1": "value1",
        "key2": "value2"
    },
    "key3": "value3"
}

这不是一个大问题,但我想知道是否有一种方法可以保持 InputPath 的扁平结构而不添加新属性(例如我的示例中的“input”)。

UPD:我知道它可以使用 Pass 状态来实现,但是状态机将会变得太大。


如果您不知道输入参数,可以使用杰森合并 https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-intrinsic-functions.html内在功能

States.JsonMerge($, States.StringsToJson(States.Format('\\{\"{}\": \"{}\"\\}', $.key2, $.value3)), false)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以向 InputPath 添加新的键/值? 的相关文章

随机推荐