一,引言

  上一篇主要只讲了Azure Data Factory的一些主要概念,今天开始新的内容,我们开始通过Azure DevOps 或者 git 管理 Azure Data Factory 中的源代码,同时创建 Pipleline 将 Azure Blob1 的 Container 的数据通过 Copy Data 复制到 Azure Blob2的 Container中。我选择的是Azure DevOps 作为代码管理的工具

--------------------我是分割线--------------------

1,Azure Data Factory(一)入门简介

2,Azure Data Factory(二)复制数据

二,正文

1,Azure DevOps 创建项目

首先我们得在Azure DevOps 上创建一个项目

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”

Location:“East Aisa”

"Performance":“Standard”

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

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

Azure Data Factory(二)复制数据的更多相关文章

  1. Azure Data Factory(一)入门简介

    一,引言 今天分享一个新的Azure 服务-----Azure Data Factory(Azure 数据工厂),怎么理解,参考根据官方解释-----数据工厂解释:大数据需要可以启用协调和操作过程以将 ...

  2. Azure Data Factory(三)集成 Azure Devops 实现CI/CD

    一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...

  3. Azure Data Factory(四)集成 Logic App 的邮件通知提醒

    一,引言 上一篇有介绍到使用Azure Data Factory 复制数据,然后有集成 Azure DevOps 实现CI/CD,但是对于真正的项目来说,这些肯定是不够的,比如说在执行 Azure P ...

  4. Azure Data Factory(五)Blob Storage 密钥管理问题

    一,引言 之前讲解的ADF 集成Azure DevOps 实现CI/CD,在 Releases Pipeline 阶段,我们是将两个 Blob Storage 的链接字符串复制.粘贴到 "O ...

  5. ADF 第一篇:Azure Data Factory介绍

    Azure Data Factory(简写 ADF)是Azure的云ETL服务,简单的说,就是云上的SSIS.ADF是基于云的ETL,用于数据集成和数据转换,不需要代码,直接通过UI(code-fre ...

  6. 徒手打造基于Spark的数据工厂(Data Factory):从设计到实现

    在大数据处理和人工智能时代,数据工厂(Data Factory)无疑是一个非常重要的大数据处理平台.市面上也有成熟的相关产品,比如Azure Data Factory,不仅功能强大,而且依托微软的云计 ...

  7. Azure Data Lake(一) 在NET Core 控制台中操作 Data Lake Storage

    一,引言 Azure Data Lake Storage Gen2 是一组专用于大数据分析的功能,基于 Azure Blob Storage 构建的.Data Lake Storage Gen2 包含 ...

  8. 构建企业级数据湖?Azure Data Lake Storage Gen2不容错过(上)

    背景 相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 数据湖的核心功能, ...

  9. Azure Storage 利用 azCopy 复制迁移数据

    一,引言 前两天遇到了Azure Blob Storage 需要迁移到另外的一个 Azure Blob Storage 中.手动下载.上传已经无法满足了,得另寻一种方式了 AzCopy.Azure 为 ...

随机推荐

  1. 靠这些秋招秘笈,齐姐的学妹今年已经拿到了 8 个offer!

    小齐说: 现在秋招进行时,正在找工作的小伙伴进度都怎么样了呀? 今天这篇文章是我武大的学妹今年秋招的经验分享,庆妹去年才决定转行,现在已手握 N+ 个 offer - 这篇文章干货满满,庆妹对每一块面 ...

  2. JMeter Websocket 二进制Binary压力测试或接口测试

    背景 最近在做游戏项目,做好java服务端,需要本地调试Websock服务,并且是二进制binary形式传输,网上的很多都是text形式传输的测试页面,所以不符合要求.为了解决websocket的二进 ...

  3. Copy As HTML From VSCode

    JS生成可自定义语法高亮HTMLcode cnblogs @ Orcim  !deprecated! 这里有更好的方案,具体看我的这篇博客博客代码高亮的另一种思路 这篇文章介绍了如何在博客里插入一段 ...

  4. 整理requests和正则表达式爬取猫眼Top100中遇到的问题及解决方案

    最近看崔庆才老师的爬虫课程,第一个实战课程是requests和正则表达式爬取猫眼电影Top100榜单.虽然理解崔老师每一步代码的实现过程,但自己敲代码的时候还是遇到了不少问题: 问题1:获取respo ...

  5. Java知识系统回顾整理01基础06数组01创建数组

    一.数组定义 定义:数组是一个固定长度的,包含了相同类型数据的 容器 二.声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a 是 ...

  6. 【题解】[ZJOI2009]假期的宿舍

    \(\color{red}{Link}\) \(\text{Solution:}\) 把人和床看成点,问题转化为二分图. 于是,对于每一个在校生,我们建立出他的床点:然后对于每一个在校生,他们自己可以 ...

  7. DX12龙书 02 - DirectXMath 库中与向量有关的类和函数

    0x00 需要用到的头文件 #include <DirectXMath> #include <DirectXPackedVector.h> using namespace Di ...

  8. WPF开源控件扩展库 - MaterialDesignExtensions

    Material Design Extensions 在WPF开源控件库 Material Design in XAML Toolkit(本站介绍:链接)的基础上进行了控件扩展和特性新增.本开源项目中 ...

  9. 你不知道的MySQL,以及MariaDB初体验

    MySQL 是一个跨世纪的伟大产品,它最早诞生于 1979 年,距今已经有 40 多年的历史了,而如今比较主流的 Java 语言也只是 1991 年才诞生的,也就是说 MySQL 要比 Java 的诞 ...

  10. web自动化测试总结

    web自动化: 1.测试用例(操作步骤,熟读需求文档,web项目先用手工研究,前置条件,预期结果) 接口自动化测试中数据功能最适合作为数据驱动,数据放在excel中需要操作excel 为什么web自动 ...