为我的逻辑应用程序JSON架构进行网络事件处理的防错:如何继续?

mzillmmw  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(142)

所以人们,
我正在构建一个Azure逻辑应用程序,它通过API获取与安全事件相关的信息。然后,我们的想法是解析此JSON并将其发布到Azure日志分析工作区中以进行进一步处理。此逻辑应用程序将完全自动化。
一个问题是收集需要发送的数据。因此,来自API的数据采用以下格式:
{“data”:[ {“属性1”:“value1”,“property2”:“value2”,“property3”:“value3”} ]“extra data”:[ {“edata1”:“evalue1”“edata2”:“edata2”“edata3”:“edata3”}
我最初使用API响应的一个示例在Logic App中生成方案,但后来遇到了不同的问题,因为字段略有不同,并且不总是包含所有属性(在本例中为“额外数据”)。
对于Log Analytics表,我有所有可能的属性的名称,我打算用它们填充日志表。
由于我希望发送来自API响应的所有数据,由于输入略有不同,我未能找到一种防错误的方法。
然后第二部分是将数据发送到日志表。我在逻辑应用程序中使用Azure日志连接器。格式需要:
{“属性1”:“值1”,“属性2”:“值2”,“属性3”:“值3”}
因为这些是动态值,所以值实际上是=属性。我希望这些是动态的,所以它不会将值为“null”(实际文本)的列发送到日志表。
你将如何推进这一点?提前感谢!
提供了一个来自API响应的示例,以生成JSON解析的模式。
对于日志转发,我只是使用实际运行中的静态值进行测试。

y53ybaqx

y53ybaqx1#

但后来遇到了不同的问题,因为字段略有不同,并不总是包含所有的属性(在这个例子中是“额外的数据”)
然后你需要更改你的schema,你需要删除schema中的必需属性,如下所示:

Parse_Json Schema:

{
    "type": "object",
    "properties": {
        "data": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "property1": {
                        "type": "string"
                    },
                    "property2": {
                        "type": "string"
                    },
                    "property3": {
                        "type": "string"
                    }
                }
            }
        },
        "extra data": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "edata1": {
                        "type": "string"
                    },
                    "edata2": {
                        "type": "string"
                    },
                    "edata3": {
                        "type": "string"
                    }
                }
            }
        }
    }
}

字符串
将数据发送到日志表。


的数据

Output:


相关问题