我正在尝试通过Azure数据工厂v2将一些json数据下载到SQL DB。我将数据存储在Azure表字段中作为中间步骤。但是,源json中的某些属性可能为null,但我仍然希望将它们保留为azure表中具有空值的列,以简化以后到SQL DB表的列映射。
我在文档中阅读了此内容:
表服务不保留属性的空值。查询实体时,以上属性类型都是不可为空的。编写实体时,上述属性类型都可以为空,并且对具有空值的任何属性进行处理,就好像有效负载中不包含该属性一样。
我尝试添加一个像[DefaultValue(null)]
这样的DefaultValueAttribute,但是不起作用。
此外,向属性添加默认值不起作用
public string streetName { get; set; } = "None";
有没有办法我仍然可以维护null属性?
答案 0 :(得分:0)
据我了解,Azure存储表本身没有架构。
如果在第一行中,将1插入列A,将2插入列B, 然后在第二行中,将3插入columnA,将4插入columnC。 然后,如果尝试使用ADF或azure Storage Explorer预览数据,则第一行的columnC将为空,第二行的columnB将为空。
因此,要拥有该空列,似乎您只需要为该列设置一个具有空值的行即可。
另一种避免此问题的方法:也许您可以考虑使用azure blob存储作为中间步骤? ADF支持将数据从天蓝色的blob存储直接处理到天蓝色的sql。而且azure blob存储可以存储json文件。