像SSIS中一样的Azure Data Factory V2多个环境

时间:2019-11-13 11:09:08

标签: azure ssis azure-data-factory-2

我有很长的SSIS背景,我们希望使用Azure数据工厂v2,但我一直在努力寻找与多种环境配合使用的任何(明确的)方法。在SSIS中,我们会将项目参数绑定到Visual Studio项目配置(例如,开发/测试/生产等),并说SourceServerName和DestinationServerName有2个参数,如果我们在开发或测试中,它们将指向不同的服务器

从我最初的尝试开始,我在数据工厂中看不到任何实现此目的的方法。我当然搜索过google,但是我发现的任何信息似乎都与CI / CD有关,然后再谈论Git的“分支机构”,并且很难遵循。

我基本上是在寻找一个非常简单的解释和示例,说明如何在Azure数据工厂v2中实现此目标(如果可能的话)。

3 个答案:

答案 0 :(得分:0)

是的,尽管它不是像VS for SSIS那样简单,但有可能。
1)首先:没有用于开发ADF的桌面应用程序,只有浏览器。
因此,开发人员应该在DEV环境中进行更改,并且出于多种原因,最好的方法是使用已连接的GIT存储库。
2)然后,您需要“仅”:
a)发布更改(它在git中创建/更新adf_publish分支)
b)使用Azure DevOps部署adf_publish中的代码,替换目标环境所需的参数。 我知道,一开始听起来很可怕,但是像这样建立一个环境的时间越早,在开发管道时节省的时间就越多。

如何逐步进行这些操作?
我在以下帖子中介绍了所有步骤:
-Setting up Code Repository for Azure Data Factory v2
-Deployment of Azure Data Factory with Azure DevOps

我希望这会有所帮助。

答案 1 :(得分:0)

它的工作方式有所不同。您为每个环境创建了一个数据工厂实例,您的环境被有效地嵌入到每个实例中。

所以这是一种简单的方法:

  1. 创建三个数据工厂:dev,test,prod
  2. 在开发环境中创建指向开发源和目标的链接服务
  3. 在测试中创建相同的命名链接服务,但是这些当然指向您的tst系统
  4. 现在,当您将管道从开发人员“迁移”到测试时,它们使用相同的逻辑名称(就像连接管理器一样)

因此,您不必在执行时指定环境或映射变量或任何其他内容...测试中的所有内容都只能针对测试运行,因为这是定义链接服务器的方式。

那是第一步。

下一步是将 only 开发ADF实例连接到Git。如果您是Git的新手,那么它可能会令人生畏,但这只是一个版本控制系统。您将代码保存到其中,它会记住您所做的每一个更改。

一旦您的管道代码是git,理论上就是您将代码从git迁移到自动化更高的环境中。

如果您通过另一个答案中提供的链接,您将看到如何设置它。

确实对此方法有疑问-您必须在密钥库中查找所有环境值,这对我来说很愚蠢,因为我们为什么每次都要指定测试服务器的主机名我们部署进行测试?

最后一件事是,如果您不使用链接服务的管道(例如REST管道),那么我还没有找到一种使该环境意识的方法。我最终围绕当前数据工厂名称构建了逻辑,以动态更改端点。

这有点像麸皮,但随时可以提问。

答案 2 :(得分:0)

尽管不推荐-是的,您可以做到。
看一下链接服务-在这种情况下,我已经连接到Azure SQL数据库:
enter image description here 您可以将动态内容用于服务器名称和数据库名称。 只需在管道中添加参数,然后将其传递给链接服务,然后在必填字段中使用即可。
让我知道我是否解释得足够清楚?