簡體   English   中英

使用Azure Data Factory將Azure cosmos db中的json數據復制到Azure sql

[英]Copy json data from Azure cosmos db to Azure sql using Azure Data Factory

我正在使用Azure Data Factory V1。 我們希望使用復制活動將存儲為Azure cosmos的文檔的json數據復制到azure sql表。

我想通過指定sql表中的列來匹配json中的屬性名來復制數據。 但是我們的目標是將整個json數據復制為單個字段。 我們這樣做的目的是與json數據中的模式無關。

我已經嘗試指定一個nvarchar(max)列來存儲json數據,並且復制活動上的查詢是“從c中選擇c為”FullData“。 但是復制活動只會生成NULL。

我認為這是因為“FullData”在文檔末端是json類型,它是sql端的字符串。 我還嘗試將json對象轉換為cosmos db查詢中的字符串。 但我找不到任何API這樣做。

我知道我們可以編寫一個自定義活動來完成我想要做的事情,但這可能與ADF開箱即用的功能有關嗎?

你可以像這樣使用jsonPathDefinition:“column_full”:“$。”

請參閱此鏈接,了解如何將jsonFormat與ADF一起使用: https ://docs.microsoft.com/en-us/azure/data-factory/supported-file-formats-and-compression-codecs#json-format

要使用ADF將JSON文檔作為單個字段復制到Azure SQL數據庫,您需要確保指定的Cosmos DB查詢的結果集實際上是包含整個對象作為字符串的單個“列”。

我不認為Cosmos DB有內置的查詢語法,但您可以在Cosmos DB中創建一個UDF( 用戶定義的函數 ),將對象轉換為字符串,例如使用JSON.stringify(),然后在select中調用該UDF在ADF復制源中查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM