使用Azure Data Factory将JSON数据从Azure Cosmos DB复制到Azure SQL



我正在使用Azure数据工厂V1。我们希望使用复制活动将存储为文档的JSON数据复制为Azure Cosmos的文档。

我通过指定SQL表中的列来匹配JSON中的属性名称来复制数据。但是,我们的目标是将整个JSON数据复制为一个字段。我们正在这样做,目的是对JSON数据中的架构不可知。

我已经尝试指定单个nvarchar(max)列以存储JSON数据,而复制活动中的查询为" select c"为" fulldata"。但是复制活动只是生成零。

我认为这是因为" fulldata"是文档末端的类型JSON,并且是SQL End上的字符串。我还尝试将JSON对象转换为Cosmos DB查询中的字符串。但是我找不到任何API。

我知道我们可以编写一个自定义活动来完成我想做的事情,但是这可以使用ADF从包装盒功能进行操作?

您可以使用与此相似的JSONPATHDEFINITION:" column_full":" $。"

请参阅此链接有关如何与ADF一起使用JsonFormat

要使用ADF将JSON文档复制为单个字段中的Azure SQL数据库,您需要确保由指定的Cosmos DB查询设置的结果实际上是一个单个"列",其中包含该结果整个对象为字符串。

我认为Cosmos DB对此没有内置查询语法,但是您可以在Cosmos DB中创建一个UDF(用户定义的函数)来将对象转换为字符串,例如使用JSON.STRINGIFY(),然后在ADF复制源中的选择查询中调用UDF。

相关内容

  • 没有找到相关文章

最新更新