上一篇主要只讲了Azure Data Factory的一些主要概念,今天开始新的内容,咱们开始经过Azure DevOps 或者 git 管理 Azure Data Factory 中的源代码,同时建立 Pipleline 将 Azure Blob1 的 Container 的数据经过 Copy Data 复制到 Azure Blob2的 Container中。我选择的是Azure DevOps 做为代码管理的工具html
--------------------我是分割线--------------------git
首先咱们得在Azure DevOps 上建立一个项目web
Azure DevOps 地址:dev.azure.com,点击 “Sign in to Azure DevOps” 进行登录,首次登录的话,须要新建立一个组织,这里我就不过多演示了。工具
输入项目名称 “CnBateBlogWeb_Proj”,选择项目的是否 “公开/私有”,点击 “+ Create project” 进行建立项目。测试
咱们能够看到项目的Repos信息,复制当前项目的Git仓库地址连接备用设计
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“ 进行建立
点击进去新建立的叫 ”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“ 进行保持操做
首选,咱们须要新建分支,就如同咱们写代码同样,都新建本身的 ”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,咱们能够进行更名操做。这里我也不进行更名操做。
点击 ”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“ 进去所有保存操做。
接下来,咱们要对 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
版权:转载请在文章明显位置注明做者及出处。如发现错误,欢迎批评指正。