评估 Amazon 状态语言中嵌入的 JSONata 字符串

问题描述 投票:0回答:1

如何确保嵌套 JSONata 表达式在 AWS Step Functions 中解析?

我对某个状态有以下输入:

{ "value1": "something", "value2": "{% $states.input.value1 %}" }

value2
字段旨在动态引用
value1
。但是,它并没有按预期解决。我尝试通过在状态输出中创建一个新对象并传递 JSON 字符串来解决此问题:

{
    "mapped": "{% $states.input %}"
}

但是,

value2
中的嵌套 JSONata 表达式仍未解决。

  • 预期行为:表达式

    {% $states.input.value1 %}
    应动态解析为
    value1
    的值。解析后的输出如下所示:

    { "value1": "something", "value2": "something" }
    
  • 实际行为:表达式保留为字符串并且不会动态解析。输出看起来像这样:

    { "value1": "something", "value2": "{% $states.input.value1 %}" }
    

有没有办法强制在这种情况下解析此类表达式?输入可能会有所不同,但引用将始终指向有效路径。任何有关如何解决此问题的指导将不胜感激!

aws-step-functions jsonata
1个回答
0
投票

目前,不评估 JSONata 表达式的状态输入。

我建议添加“通过”状态作为工作流程的第一步。在该状态下,您可以使用分配将 $states.input 中的值分配给变量。

有关变量分配的详细说明,请参阅文档中的分配字段中的计算顺序

© www.soinside.com 2019 - 2024. All rights reserved.