You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Terraform为已有ACR实现软删除(不使用null_resource)

替代null_resource启用ACR软删除策略的方法

不用依赖null_resource调用az cli,直接用Terraform的AzureRM Provider就能配置已存在ACR的软删除策略,具体步骤如下:

  • 第一步:把已存在的ACR导入Terraform状态
    先执行以下命令,将你的ACR实例纳入Terraform的管理范围:

    terraform import azurerm_container_registry.my_registry /subscriptions/<你的订阅ID>/resourceGroups/<资源组名称>/providers/Microsoft.ContainerRegistry/registries/MyRegistry
    
  • 第二步:编写Terraform配置代码
    在你的配置文件里定义azurerm_container_registry资源,添加soft_delete_policy嵌套块来启用软删除并设置保留天数:

    resource "azurerm_container_registry" "my_registry" {
      name                = "MyRegistry"
      resource_group_name = "<你的资源组名称>"
      location            = "<ACR所在的区域>"
      sku                 = "Premium" # 划重点:ACR软删除仅支持Premium SKU,若当前不是需先升级
    
      soft_delete_policy {
        enabled         = true
        retention_days = 7
      }
    
      # 注意:如果ACR原本有其他配置(比如管理员账户启用、异地复制等),需要把这些配置也写在这里,防止Terraform执行时覆盖原有设置
    }
    
  • 第三步:应用配置
    先运行terraform plan检查变更内容,确认无误后执行terraform apply,Terraform会自动为你的ACR配置好软删除策略,全程不需要本地执行az cli命令。

这种方式用Terraform声明式配置管理资源策略,比null_resource更可靠,也能更好地跟踪资源状态变化。

内容的提问来源于stack exchange,提问作者Dv6

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 18:53:30