Azure 数据工厂 V2 多个环境(如 SSIS 中)

roc*_*org 5 ssis azure azure-data-factory

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

从我最初的尝试来看,我看不到任何方法可以在数据工厂中做到这一点。当然,我已经搜索过 google,但是我发现的任何信息似乎都围绕 CI/CD,然后谈论 Git 的“分支”,并且很难理解。

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

Nic*_*aid 6

它的工作原理不同。您为每个环境创建一个数据工厂实例,并且您的环境有效地嵌入到每个实例中。

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

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

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

这是第一步。

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

一旦您的管道代码位于 git 中,理论上您可以自动将代码从 git 迁移到更高的环境中。

如果您浏览其他答案中提供的链接,您将看到如何设置它。

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

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

这有点像麸皮堆,但请随意提问。

  • 您可以通过复制源代码(恰好是 JSON)并将其粘贴到目标中来手动迁移 ADF“内容”。或者您可以使用API​​(即powershell)来迁移代码。我一直觉得 SSIS 很繁琐。ADF 的功能绝不是完整的,但很多事情都更容易做到。 (2认同)