使用Azure Logic应用遍历并检查JSON对象属性

时间:2019-02-19 20:39:36

标签: json azure-table-storage azure-logic-apps

我正在尝试编写一个Azure逻辑应用程序,该应用程序将帮助我将数据从Azure LogAnalytics工作区移至Azure表存储中。在执行此任务时,我继续遇到相同的错误。本质上,LogAnalytics数据具有一些分配了空值的属性,但是Azure表存储完全不允许空值-因此它仅引发一般错误:

服务代码:400

“代码”:“ PropertiesNeedValue”

“ value”:“未为实体中的所有属性指定值。

因此,为了使Azure存储表接受LogAnalytics的数据,我需要将所有Null值属性转换为其他数据类型,例如空字符串。这里的问题是,存储为JSON对象的数据具有数百个属性,其中任意多个为null。

我需要能够遍历属性本身,检查每个属性是否为空,然后将属性设置为其他值/数据类型。

使用Azure逻辑应用程序是否可能?

这将如何实现?

出于记录目的,我熟悉LogicApps,并了解如何使用SetProperty(),RemoveProperty()以及如何使用ForEach循环。谢谢!!

1 个答案:

答案 0 :(得分:1)

成功解析的解决方案是将架构修改为允许空值。

修改现有架构 通过将对象的类型修改为如下所示的类型数组,可以非常简单地完成此操作:

enter image description here

允许解析空值的执行

enter image description here

enter image description here

我们看到这次Logic应用程序没有引发异常,它将使我们能够在代码中处理此空值。

请记住,允许null并不总是最好的选择。

也可以考虑使用默认值,但是默认值取决于逻辑应用程序在其中运行的上下文。

希望有帮助。

MV