【问题标题】:Logic Apps: Data not parsed on the second query inside "foreach" loop逻辑应用程序:“foreach”循环内的第二个查询未解析数据
【发布时间】:2021-03-31 01:20:36
【问题描述】:

各位逻辑应用专家,

我想与您一起检查一些 foreach 循环行为,并检查这是否是预期的/是否有任何解决方法。

所以这个逻辑应用程序的步骤是“运行查询并列出结果”搜索将搜索 SecurityIncident 表。并针对每条SecurityIncident记录,在“Using IncidentId-Query Details of the Alert”步骤中找到对应的SecurityAlert记录。

对于第一个查询,数据被正确解析,每个字段都可以使用。

但是,在第二次查询之后,我只能在步骤中使用“Body”和“value”。其中包含未解析的值。

问题:

  1. 这是预期行为吗?
  2. 是否有更好的方法来确保解析第二个查询?
  3. 非常感谢任何其他改进建议。

谢谢!

【问题讨论】:

    标签: azure-logic-apps kql azure-sentinel


    【解决方案1】:

    受动作中输入框所需类型/格式影响的选择列表。所以我认为这种行为是意料之中的。

    如果要从查询操作中获取解析后的字段,可以使用表达式。查询结果正文的细节我不是很清楚,这里只提供一个示例供大家参考:

    例如,如果查询结果显示如下:

    {
        "body": [
            {
                "TenantId": "111",
                "xxxx": "xxx"
            },
            {
                "TenantId": "222",
                "xxxx": "xxx"
            }
        ]
    }
    

    然后您可以使用表达式body('Run_query_and_list_results')[0]?['TenantId'] 来获取第一个TenantId 的值。总之,使用[index]获取array,使用?['key']获取map。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 2022-08-02
      • 2012-12-30
      相关资源
      最近更新 更多