我正在执行基于触发器的管道,以将数据从Blob存储复制到SQL数据库。每个blob文件中都有一堆JSON,我只需要复制其中的几个,就可以根据每个JSON中的键值对来区分它们。
那么如何过滤那些包含与通用密钥相对应的Value的JSON?
一个Blob文件如下所示。现在,在进行复制活动时,它应根据事件名称“ ...”来过滤数据。
答案 0 :(得分:0)
数据工厂通常仅移动数据,而不修改数据。您可以尝试使用接收器sql中的登台表来完成操作。
您应该首先从暂存表中的Blob存储中按原样加载json值,然后将其从暂存表中复制到所需的真实表中,并在用于提取数据的sql命令中应用逻辑进行过滤它。
请记住,sql数据库已内置用于处理json值的函数:https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-2017
希望这对您有帮助!
答案 1 :(得分:-1)
目前,我们没有用于复制活动的选项来过滤内容(sql source除外)。 在您的方案中,看起来已经知道需要省略哪些值,在复制活动之后,将有一个“存储过程”活动,这将只是从表中删除不需要的值,这应该易于实现,但是根据数据量的不同,可能会导致性能问题。另一个选择是在摄取JSON文件之前先在存储端对其进行清理。