Azure Data Factory(二)複製數據

一,引言

  上一篇主要只講了Azure Data Factory的一些主要概念,今天開始新的內容,咱們開始經過Azure DevOps 或者 git 管理 Azure Data Factory 中的源代碼,同時建立 Pipleline 將 Azure Blob1 的 Container 的數據經過 Copy Data 複製到 Azure Blob2的 Container中。我選擇的是Azure DevOps 做爲代碼管理的工具html

--------------------我是分割線--------------------git

1,Azure Data Factory(一)入門簡介

2,Azure Data Factory(二)複製數據

3,Azure Data Factory(三)集成 Azure Devops 實現CI/CD

4,Azure Data Factory(四)集成 Logic App 的郵件通知提醒

二,正文

1,Azure DevOps 建立項目

首先咱們得在Azure DevOps 上建立一個項目web

Azure DevOps 地址:dev.azure.com,點擊 「Sign in to Azure DevOps」 進行登錄,首次登錄的話,須要新建立一個組織,這裏我就不過多演示了。工具

輸入項目名稱 「CnBateBlogWeb_Proj」,選擇項目的是否 「公開/私有」,點擊 「+ Create project」 進行建立項目。測試

咱們能夠看到項目的Repos信息,複製當前項目的Git倉庫地址連接備用設計

2,建立 Azure Blob 存儲和Azure Data Factory

Azure Portal 中點擊 「Create a resource」,選擇 「Storage Account」 進行建立數據源以及目標源調試

Storage account name:「cnbateblogwebaccount1dev」rest

Location:「East Aisa」code

"Performance":「Standard」orm

Account kind:「BlobStorage」

其餘的選擇默認,點擊 「Review + create」 進行建立預校驗。

校驗成功後,點擊 「Create」 進行建立操做

接下來,使用一樣的步驟建立目標源Storage Account----- "cnbateblogweb2dev"

cnbateblogweb1dev 的 Azure Blob Storage 初始化數據,選擇 「Blob service =》Containers」 ,點擊「+ Container」 添加 Container 

Name 輸入 「resformfoler」 其餘選擇默認,點擊 「Create」 進行建立。

點擊進去當前 「resformfolder」 容器

選擇上傳,我這裏只是做爲演示上傳一個 txt 文本文件,實際項目中當前數據應該爲 Azure Factory 的數據源。

如下是我上傳的文件----「AZ-300考試說明.txt」

回到 」cnbateblogwebaccount2dev「 中,新建容器-----」restofolder「

最後,建立搜索 「Data Factory」

Resource group 選擇 :「Web_Test_DF_RG」

Region :‘East Asia「

Name:」ADF-CnBateBlogWeb-Dev「

其餘選擇默認,點擊 」Next:Git configuration「 配置 git 代碼管理信息

選擇 「Configure Git later」,稍後進行配置,點擊 」Review+create「 進行建立預校驗

 

建議完成後,點擊 」Create「 進行建立

3,配置 Azure Data Factory

配置 Azure DevOps 

點擊進去新建立的叫 」ADF-CnBateBlogWeb-Dev「,點擊圖中圈起來的 」Author & Montor「 跳轉到做業和監控頁面

點擊圖中箭頭指向的地方,進行先配置代碼管理設置

選擇 」Source control =》Git configuration「 ,點擊 」Set up code repository「 進行配置

選擇 」Azure DevOps Git「

選擇Azure DevOps 所在目錄

選擇帳號 」allenMaster「

選擇項目 」CnBateBlogWeb_Proj「

Git repository name 選擇:」Use existing「(使用現有),也就是」CnBateBlogWeb_Proj「

Collaboration branch(協做分支):」master「

Publish branch(發佈分支):」adf_publish「

其餘選擇默認後,點擊 」Apply「 進行應用

設置完畢後,會彈出,須要讓咱們設置 Azure Data Factory 的工做分支,咱們選擇 」Use existing「,選擇 」master「 進行保持操做

配置 Data Factory Pipeline

首選,咱們須要新建分支,就如同咱們寫代碼同樣,都新建本身的 」feature branch「。經開發,測試完成後,再 "merge" 到 "master" 分支。Azure Data Factor 也是同樣,咱們須要有一個很規範的操做流程。

點擊 "+ New branch",進行新建立分支

 

輸入分支名稱 」allen/Feature-1「,點擊 」Save「 進行保存操做。

能夠看到當前工做環境在咱們本身的」allen/Feature-1「 開發分支上

點擊圖中的 」+「 ,先添加 pipeline 信息

能夠看到圖中,咱們能夠更改 pipeline 的名稱,我這裏就再也不進行修改,繼續使用默認的名稱 」pipeline1「,在 」Activities(活動)「 下的搜索框搜索 」Copy Data「 具體的活動,而後將 」Copy Data「 拖拽到 pipeline 設計器的圖中。關於Name,咱們能夠進行更名操做。這裏我也不進行更名操做。

配置 Data Factory DataSets

點擊 」Source「 切換到設置數據源頁面,點擊 」+ New「 添加新的數據源。

選擇 」Azure Blob Storage「,點擊 」Continue「

選擇」Binary(二進制)「文件,點擊 」Continue「

將 Name 修改成 」FromBinaryData「,Linked service(連接服務)選擇建立新的:」+ New「

關於配置連接服務

Name 修改成:」CnBateFromBlobStorage「

Azure subscription 選擇 以前建立 Blob Storage 的訂閱

Storage account name 選擇:」cnbateblogwebaccount1dev「

點擊 」Create「 進行建立,確認。

建立好連接服務後,咱們須要設置其 」File path(文件路徑)「,點擊圖中箭頭所指的位置,進行設置

點擊 」resformfolder「 選擇容器,點擊 」OK「 進行確認操做(咱們不須要設置具體的某個文件,咱們的目標就是將 」resformfoler「 當前容器下的全部文件 複製到目標源的容器中)

設置完成後,點擊 」OK「 進行確認

同時,咱們設置完成後,打開進行測試剛剛設置的連接服務,以保證能正常,成功的鏈接到 Blob Storage。

最後,回到 pipeline中,選擇 "Sink",設置目標源,幾乎是一樣操做,咱們須要將 "cnbateblogwebaccount2dev" 設置爲目標源,具體參數,請看下圖

 

設置完畢後,咱們回到pipeline1 中,點擊 」Save all「 進去所有保存操做。

Data Factory 的驗證、測試

接下來,咱們要對 ADF 中配置的 pipeline 進程校驗操做,點擊 」validate all「,能夠看到右邊如今未發現錯誤

最後,就是調試,手動點擊 」Debug「 進行測試pipiline,同時能夠在底部看到輸入當前pipeline 運行狀態。

同時,咱們也能夠看到在 」cnbateblogwebaccount2dev「 這個Blob Storage 的 」restofolder「 這個容器中也出現了以前在數據源 Blob Storage 的 」resformfolder「 容器中的文件 

測試完畢後,咱們能夠將當前本身分支上的代碼合併到 ’master」 分支,並進行分佈操做

輸入當前合併分支的Title,已經完成/修改了那些功能等,這些操做我就不一一演示了,你們能夠對照本身實際開發工程中關於代碼提交的流程,點擊「Create」

先進行贊成這次 合併請求,再點擊 完成合並請求

點擊 「Complete merge」 完成合並操做

測試,咱們經過代碼,也能夠看到當前master 分支上已經有了咱們開發好,驗證好的代碼

回到Azure Data Factory 中,提到 「allen/Feature-1」 分支不存在,讓咱們從新選擇工做的分支,(由於剛剛在合併代碼的時候,咱們勾選了「合併後刪除此分支」的選項)咱們繼續選擇 「master」 分支

切換到 「master」 分支後,就須要進行發佈操做(注意,咱們確保合併到master 分支的代碼是徹底校驗過,測試過的),發佈完成後,其實當前Data Factory 的pipiline 是不會不會進行觸發的,除非咱們進行,手動 「Debug」/設置 「trigger」

點擊 「Add trigger」 設置觸發器

Name:「CtriggernBate_CopyData_Trigger」

Type 選擇:「Schedule」

Start date "11/02/2020 3:40 PM"

time zone(時區):「UTC+8」

Recurrence 設置爲 每5分鐘 循環一次

勾選 」Specify an end date(指定截至日期)「

End on(截至):」11/02/2020 4:00 PM「 

點擊 」OK「 進行添加,保存操做

設置完觸發器後,再進行發佈操做

 

最後,咱們能夠看到當前pipeline的運行狀態

OK,今天的分享到此結束,*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。🎊🎊🎊🎊🎊🎊(因爲時間的關係,集成CI/CD放到下一篇進行講解)

三,結尾

  今天實地的演示了一下將 Blob Storage1 容器中的數據經過Azure Data Factory 複製到 Blob Storage2 容器中,同時也很粗糙的使用Azure DevOps 做爲 ADF的代碼管理工具。經過驗證,測試將開發好的分支代碼合併到master分支上,在經過master 分支進行發佈pipeline。最近通過設置Trigger,進行發佈,定時進行觸發pipeline,通過 監視器觀察每次管道運行狀態。

做者:Allen 

版權:轉載請在文章明顯位置註明做者及出處。如發現錯誤,歡迎批評指正。

相關文章
相關標籤/搜索