簡體   English   中英

Azure 數據工廠 - 使用 Rest 的復制任務 API 僅在執行時返回第一行

[英]Azure Data Factory - copy task using Rest API is only returning first row upon execution

我在 ADF 中有一個復制任務,它將數據從 REST API 提取到 Azure SQL 數據庫中。 我已經創建了映射,並提取了一個集合參考,如下所示:

json數據預覽

來源

下沉

映射

output

您會注意到在運行復制任務時它只輸出一行(第一行)。 我知道這通常是因為你是從一個嵌套的 JSON 數組中拉取的,其中集合引用應該解決這個問題以從數組中拉取 - 但即使在設置集合之后我也無法讓它拉取多條記錄.

這有一個竅門。 您導入模式,然后將數組的名稱放入集合引用中,然后再次導入模式,然后它就可以工作了來自 azure 數據工廠的屏幕截圖

Because of Azure Data Factory design limitation, pulling JSON data and inserting into Azure SQL Database isn't a good approach. 即使在使用“集體參考”之后,您也可能無法獲得想要的結果。

The recommended approach is to store the output of REST API as a JSON file in Azure blob storage by Copy Data activity. 然后您可以將該文件用作源並在數據流中進行轉換。 您還可以使用查找活動來獲取 JSON 數據並調用存儲過程將數據存儲在 Azure SQL 數據庫中(這樣會更便宜,性能會更好)。

使用展平轉換在 JSON 等層次結構中獲取數組值,並將它們展開為單獨的行。 這個過程稱為非規范化。

有關更多詳細信息,請參閱此第三方教程

嘿,我遇到了這個問題,我注意到 json 分支的默認列名真的很長,在我的目標 csv 中,header 行通過重命名后能夠將 ADF 映射到部分而被截斷。 例如我有:

源中['hours']['monday']['openIntervals'][0]['endTime']並將其更改為目標中的MondayCloseTime

剛開始工作。 也可以在重新編寫所有列名之前關閉 output 上的 header 進行快速測試,因為這也可以為我工作

我假設它在第一行數據的同時寫出截斷的 header 行,然后嘗試使用該 header 行,但由於它與預期的不匹配,它剛剛結束。 有點煩人,它不會給出錯誤或任何東西,但無論如何這對我有用。

暫無
暫無

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

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