我是使用Azure Data Factory v2的新手,在部署到多个环境时,对于一般转换连接字符串/ LinkedServices有一些问题。
我们曾经将连接字符串定义为项目参数。这允许在将工件部署到不同环境时转换连接字符串。
如何使用Azure Data Factory v2完成相同的操作? 是否有捷径可寻 ?
我尝试使用连接字符串作为参数设置链接服务,然后可以与触发器一起传递?这可行吗?
答案 0 :(得分:1)
此功能现在可从以下 URL 获得。您是请求该功能的人吗? :)
答案 1 :(得分:0)
关于SSIS
(我们将使用配置文件 - .dtsconfig
用于部署到不同的部署),对于ADFV2
(& ADFV1
我们也可以查看使用ARM
模板的选项,用于每个不同的环境(dev,test和amp; prod)部署ADF
解决方案,可以制作许多部署文件(.json
)并编写部署脚本使用PowerShell
。可以使用ARM模板参数来参数化到链接服务和其他特定于环境的值的连接。然后,ADFV2
具体PowerShell cmdlets
用于ADFV2
管道的创建/部署。
此外,您可以使用PowerShell
参数化与linked services
的连接以及其他特定于环境的值。
使用ADFV2 UI
VSTS GIT
集成是可能的,部署和集成也是如此。 VSTS GIT
集成允许选择功能/开发分支或在VSTS GIT
存储库中创建新分支。将更改与主分支合并后,可以使用ADFV2 UI
将其发布到数据工厂。
答案 2 :(得分:0)
我最终解决了这个问题,为每个环境设置了一个 Azure Key Vault,每个环境都有一个连接字符串秘密(更多详细信息:https://docs.microsoft.com/en-us/azure/data-factory/store-credentials-in-key-vault)
- dev
- dev-azure-datafactory
- dev-key-vault
- key: db-conn-string
value: dev-db.windows.net
- qa
- qa-azure-datafactory
- qa-key-vault
- key: db-conn-string
value: qa-db.windows.net
- production
- prod-azure-datafactory
- prod-key-vault
- key: db-conn-string
value: prod-db.windows.net
在 Azure 数据工厂中
定义 Azure Key Vault 链接服务
在定义其他链接服务的连接字符串时使用 azure Key Vault 链接服务
这种方法消除了实际链接服务中参数的任何更改
带有 azure 密钥保管库链接服务的连接字符串可以作为 azure 管道部署的一部分进行更改(更多详细信息:https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment)
每个 azure 数据工厂都可以使用 MSI 访问其 azure 密钥保管库(在我们的例子中使用 terraform 自动化)