Azure Data Factory V2 多环境,如 SSIS

Azure Data Factory V2 multiple environments like in SSIS

我有很长的 SSIS 背景,我们希望使用 Azure 数据工厂 v2,但我正在努力寻找任何(清晰的)方式来处理多个环境。在 SSIS 中,我们会将项目参数绑定到 Visual Studio 项目配置(例如 development/test/production 等...),并说 SourceServerName 和 DestinationServerName 有 2 个参数,如果我们在开发或测试。

从我最初的尝试开始,我看不出有任何方法可以在数据工厂中执行此操作。当然,我搜索过 google,但我发现的任何信息似乎都是围绕 CI/CD 然后谈论 Git 'branches' 并且很难理解。

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

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

如何逐步完成这些事情?
我在以下帖子中描述了所有步骤:
- Setting up Code Repository for Azure Data Factory v2
- Deployment of Azure Data Factory with Azure DevOps

希望对您有所帮助。

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

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

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

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

这是第一步。

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

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

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

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

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

这有点乱,但请随时提问。

虽然不推荐 - 是的,你可以这样做。
查看链接服务 - 在这种情况下,我连接到 Azure SQL 数据库:
您可以为服务器名称和数据库名称使用动态内容。 只需向您的管道添加一个参数,将其传递给链接服务并在必填字段中使用。
请问我解释清楚了吗?