Azure DevOps 中 ADF 的完整模式部署
Complete mode deployment in Azure DevOps for ADF
我尝试为 Azure 数据工厂部署 ARM 模板作为 DevOps 实施的一部分。
部署模式选择为完整,以便清理现有的 adf 实例并仅部署 ARM 模板中可用的管道。如下图
当我尝试 运行 部署时,失败并出现错误
##[error]The deployment failed because some resources could not be deleted. This might be due to not having permissions to delete resources in the targeted scope. Please see https://aka.ms/arm-debug for usage details.
2020-11-02T05:33:34.5795133Z ##[error]Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting
当我对这个问题进行调试时,我可以理解部署范围被选择为资源组并且部署任务试图删除该资源组下的所有资源并且失败,因为由于访问问题无法删除 ADF 实例以外的资源。
因为我无权访问其他资源,所以它们没有被删除,否则我可能会通过删除所有其他资源(如 ADLS、databricks、sql...
由于我正在部署ADF ARM模板,有什么办法可以限制部署范围只针对ADF实例,不会影响其他资源。
感谢任何线索!
我对 Azure 为 ARM 模板部署提供的 What-If 功能有疑问。我们可以在我们的发布管道中将其用作 powershell 任务吗?
您不能像您注意到的那样将部署范围限制在 ResourceGroup 以下。
您执行此操作的唯一方法是将 ADF 放在单独的资源组中,但我认为这是不可能的。
第二种方法是通过门户或 powershell 删除 ADF,然后对仅包含 ADF 定义的 ARM 模板进行增量部署。
Microsoft 推出了一项名为 What-If 的 ARM 部署新功能。这是一个非常好的功能,可以检查在部署模板时哪些资源会发生哪些变化。请注意,它目前仅适用于 powershell 核心。如果您使用 ARM 模板,这可以帮助您并在部署任何内容之前捕获资源删除。
部署数据工厂时,请勿将 select Complete 作为部署模式。这将覆盖资源组中的所有资源,包括 non-ADF 个实体。
选择增量 将仅部署位于 ARM 模板中的资源。如果从 adf_publish 分支生成,那么它将包含您工厂中的所有资源。
我尝试为 Azure 数据工厂部署 ARM 模板作为 DevOps 实施的一部分。
部署模式选择为完整,以便清理现有的 adf 实例并仅部署 ARM 模板中可用的管道。如下图
当我尝试 运行 部署时,失败并出现错误
##[error]The deployment failed because some resources could not be deleted. This might be due to not having permissions to delete resources in the targeted scope. Please see https://aka.ms/arm-debug for usage details.
2020-11-02T05:33:34.5795133Z ##[error]Check out the troubleshooting guide to see if your issue is addressed: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment?view=azure-devops#troubleshooting
当我对这个问题进行调试时,我可以理解部署范围被选择为资源组并且部署任务试图删除该资源组下的所有资源并且失败,因为由于访问问题无法删除 ADF 实例以外的资源。
因为我无权访问其他资源,所以它们没有被删除,否则我可能会通过删除所有其他资源(如 ADLS、databricks、sql...
由于我正在部署ADF ARM模板,有什么办法可以限制部署范围只针对ADF实例,不会影响其他资源。
感谢任何线索!
我对 Azure 为 ARM 模板部署提供的 What-If 功能有疑问。我们可以在我们的发布管道中将其用作 powershell 任务吗?
您不能像您注意到的那样将部署范围限制在 ResourceGroup 以下。
您执行此操作的唯一方法是将 ADF 放在单独的资源组中,但我认为这是不可能的。
第二种方法是通过门户或 powershell 删除 ADF,然后对仅包含 ADF 定义的 ARM 模板进行增量部署。
Microsoft 推出了一项名为 What-If 的 ARM 部署新功能。这是一个非常好的功能,可以检查在部署模板时哪些资源会发生哪些变化。请注意,它目前仅适用于 powershell 核心。如果您使用 ARM 模板,这可以帮助您并在部署任何内容之前捕获资源删除。
部署数据工厂时,请勿将 select Complete 作为部署模式。这将覆盖资源组中的所有资源,包括 non-ADF 个实体。
选择增量 将仅部署位于 ARM 模板中的资源。如果从 adf_publish 分支生成,那么它将包含您工厂中的所有资源。