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

如何用Azure Policy删除创建30天且带指定标签的资源组?(报错修复)

问题解决:Azure Policy 解析错误修正与资源组自动删除实现

错误原因分析

  1. 运算符与时间函数用法错误:Azure Policy 中没有greaterThan运算符,且utcNow('-P30D')用法不符合函数规范——utcNow()仅接受日期格式字符串参数,无法直接传入时间偏移,需用addDays(utcNow(), -30)计算30天前的UTC时间。
  2. 标签检查逻辑冗余:原规则中not + exists: false的写法可简化,直接判断标签存在即可。
  3. Effect 类型错误:原规则使用deny仅能阻止资源创建,无法实现自动删除,需改为delete类型。

修正后的Policy规则代码

{
    "mode": "Indexed",
    "policyRule": {
        "if": {
            "allOf": [
                {
                    "field": "type",
                    "equals": "Microsoft.Resources/subscriptions/resourceGroups"
                },
                {
                    "field": "[concat('tags[', parameters('tagName'), ']')]",
                    "exists": true
                },
                {
                    "field": "[concat('tags[', parameters('tagName'), ']')]",
                    "equals": "delete-after-30-days"
                },
                {
                    "field": "Microsoft.Resources/subscriptions/resourceGroups/createdTime",
                    "lessThan": "[addDays(utcNow(), -30)]"
                }
            ]
        },
        "then": {
            "effect": "delete",
            "details": {
                "delay": "PT1H",
                "override": "none"
            }
        }
    },
    "parameters": {
        "tagName": {
            "type": "String",
            "metadata": {
                "displayName": "标签名称",
                "description": "用于标记需要删除的资源组的标签名"
            }
        }
    }
}

关键修正说明

  • 时间筛选逻辑:用lessThan替代错误的运算符,配合addDays(utcNow(), -30)精准筛选创建时间超过30天的资源组。
  • 标签检查简化:直接判断目标标签存在,再验证标签值,逻辑更清晰高效。
  • 自动删除配置:将effect改为delete,并通过details设置1小时延迟删除(可根据需求调整为PT24H等),避免误删后无法及时恢复。

注意事项

  • 分配Policy时,需确保分配的系统身份具备资源组删除权限(如Resource Group Contributor角色)。
  • 建议先在测试环境验证规则,确认筛选逻辑无误后再部署到生产环境,防止误删重要资源。
  • 资源组的createdTime为UTC时间,规则会自动匹配时区计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:17:40