azure - 如何通过 'Complete' 模式部署到 Azure 来忽略锁定的资源?

标签 azure azure-resource-manager azure-rm-template azure-cli

我们的团队正在使用使用多个 ARM 模板的部署来设置我们的环境。第一个 ARM 模板设置为部署模式“完整”并删除除存储帐户之外的所有内容。我们使用 Azure CLI 进行部署:

az group deployment create \
    --mode Incremental \
    --resource-group $resourceGroupName \
    --template-file $BUILD_SOURCESDIRECTORY'/Infrastructure/azuredeploy.json' \
    --parameters $BUILD_SOURCESDIRECTORY'/Infrastructure/azuredeploy.parameters.'$environment'.json' \
    --query $query \
    --output json

但是,我们的一个资源组包含一些锁定的资源(由不同的团队管理)。在这种特殊情况下,“完整”部署模式的策略会失败,因为 Azure 无法删除锁定的资源。

当然可以理解,但也许有办法解决这个问题?例如,我们可以指示 ARM 模板忽略特定资源吗?或者使用 CLI 来指示类似的事情?

显而易见的方法是将资源移动到单独的资源组,但不幸的是,这对我们来说是不可能的。我还找不到其他方法,但也许我错过了一些东西。感谢您提前的答复。

最佳答案

除了将资源移动到单独的资源组(您说在您的情况下无论如何都排除了这种情况)之外,解决此问题的另一种方法是对您的资源使用条件

请注意 complete 中的内容模式下,资源管理器删除资源组中存在但模板中未指定的资源。模板中指定但未部署的资源,因为 condition评估为 false,不会被删除。

有关语法和示例的更多详细信息,请参阅以下资源:

希望这有帮助!

关于azure - 如何通过 'Complete' 模式部署到 Azure 来忽略锁定的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56259340/

相关文章:

azure - 使用 ARM 模板部署多个资源

azure - 如何使用 ARM 模板在 azure 中配置现有 Web 应用程序和虚拟网络

asp.net-mvc-3 - VS2010 组件的正确安装顺序是什么? (IIS Express、SQL CE、MVC3、SP1 测试版)

Azure 作为应用程序的代理

azure - 无法从 Windows Azure 网站删除证书 "Updating configuration failed"

azure - 通过 ARM 部署时无法在 QnA Maker 中创建 KB(未找到端点 key )

azure - 部署ARM模板时获取PrincipalId

azure - 错误请求 : The document creation or update failed because of invalid reference

azure - 使用 Kubeadm 创建高可用性 Kubernetes 集群时出错