簡體   English   中英

Map 嵌套在 Azure 數據工廠中的 JSON 到原始 ZA8CFDE6331BD59EB2AC96F8911ZCB4

[英]Map nested JSON in Azure Data Factory to raw object

由於 ADF(Azure 數據工廠)無法處理復雜/嵌套的 JSON 對象,因此我在 SQL 中使用 OPENJSON 來解析對象。 但是,我無法從以下 object 中獲得“原始”JSON:

{
   "rows":[
      {
         "name":"Name1",
         "attribute1":"attribute1",
         "attribute2":"attribute2"
      },
      {
         "name":"Name2",
         "attribute1":"attribute1",
         "attribute2":"attribute2"
      },
      {
         "name":"Name3",
         "attribute1":"attribute1",
         "attribute2":"attribute2"
      }
   ]
}

配置 1

當我使用這個配置時: 在此處輸入圖像描述

我列出了所有的名字

  1. 名稱1
  2. 名稱2
  3. 名稱3

結果:

在此處輸入圖像描述

配置 2

當我使用這個配置時:

在此處輸入圖像描述

我在一條記錄中得到了整個 JSON:

  1. [ {{完整 JSON}} ]

結果:

在此處輸入圖像描述

需要的配置

但是,我想要的是這個結果:

  1. {“名稱”:“名稱 1”,“屬性 1”:“屬性 1”,“屬性 2”:“屬性 2 }
  2. { “名稱”:“名稱 2”,“屬性 1”:“屬性 1”,“屬性 2”:“屬性 2 }
  3. { “名稱”:“名稱 3”,“屬性 1”:“屬性 1”,“屬性 2”:“屬性 2 }

結果:

在此處輸入圖像描述

因此,我需要配置 1 的迭代,每行使用原始 JSON。 每次我使用 $['rows'] 或 $['rows'][0] 時,似乎都“忘記”了迭代。

任何人?

您是否嘗試過數據流來處理 JSON 結構? 我們在派生列、展平和接收器映射等數據流轉換中內置了該功能。

副本活動可以幫助我們實現它。

例如,我將B.json容器“備份”復制到另一個 Blob 容器“testcontainer”。

這是我的B.json源數據集:

在此處輸入圖像描述

資源:

在此處輸入圖像描述

下沉: 在此處輸入圖像描述

映射:

在此處輸入圖像描述

管道執行成功:

在此處輸入圖像描述

檢查測試容器中的數據:

在此處輸入圖像描述

希望這可以幫助。


更新:

將嵌套的 json 復制到 SQL。

來源與 blob 中的B.json相同。

接收器數據集:

在此處輸入圖像描述

下沉:

在此處輸入圖像描述

映射:

在此處輸入圖像描述

運行管道:

在此處輸入圖像描述

查看SQL數據庫中的數據:

在此處輸入圖像描述

暫無
暫無

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

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