![](/img/trans.png)
[英]ADF (azure data factory) copy data from SQL Server to Cosmos DB with field contain json object
[英]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.