CI/CD ADF Synapse - 在 Key Vault 链接服务中修改 URL

CI/CD ADF Synapse - Modify URL in Key Vault Linked service

我们使用 Synapse git Integration 来部署工件,例如数据仓库自动化工具生成的链接服务(JSON 文件) 这与在 ADF 中部署 ARM 模板不同。

我们为每个环境创建了一个 Azure Key Vault (AKV),因此我们在每个环境中都有一个 Azure Key Vault LinkedService,并且链接服务具有相同的名称。但是每个AKV都是他自己的URL所以我们需要在CI/CD过程中更改部署的链接服务中的URL。

我读了这个https://docs.microsoft.com/en-us/azure/synapse-analytics/cicd/continuous-integration-deployment#use-custom-parameters-of-the-workspace-template

我想我需要创建一个模板来更改“Microsoft.Synapse/workspaces/linkedServices” 但是我没有找到任何关于如何修改 KV url 参数的示例。 这里是我要修改的链接服务,https://myKeyVaultDev.vault.azure.net部署时要改

{
  "name": "myKeyVault",
  "properties": {
    "type": "AzureKeyVault",
    "typeProperties": {
      "baseUrl": "https://myKeyVaultDev.vault.azure.net"
    }
  }
}

还不太熟悉 ci/cd 和 azure devOps,但我仍然需要这样做...

从 Azure Key Vault 的角度来看,我相信你是对的 - 你已经更改了模板中的 Linked Services 部分以指向正确的 Key Vault 基础 URL。

Azure Key Vault linked service

我已经使用 Azure Devops 完成了这项工作。在 Azure Devops 中创建发布管道时,其中一个选项是“覆盖参数”。此时你可以指定keyvault的名称和对应的值。相应的值在管道变量集中配置 - 它本身可以来自同一个密钥库。

您不需要创建模板。 Synapse 已经这样做并将其存储在发布分支(“workspace_publish”)中。如果您查看该分支,您将看到模板以及您可以覆盖的可用参数。

可在此处获取更多信息:

https://www.drware.com/how-to-use-ci-cd-integration-to-automate-the-deploy-of-a-synapse-workspace-to-multiple-environments/

https://techcommunity.microsoft.com/t5/data-architecture-blog/ci-cd-in-azure-synapse-analytics-part-1/ba-p/1964172