自动创建预算

可以使用预算 API 自动创建预算。 你也可以使用预算模板创建预算。 模板是使 Azure 部署标准化同时确保适当配置和强制实施成本控制的简单方法。

常见预算 API 配置

可以通过多种方法在 Azure 环境中配置预算。 首先考虑方案,然后确定启用该方案的配置选项。 查看以下选项:

  • 时间粒度 - 表示预算用于累积和计算成本的重复周期。 最常用的选项是“每月”、“每季度”和“每年”。
  • 时间段 - 表示预算有效期。 仅当预算仍然有效时,系统才会主动监控预算并向你发出通知。
  • 通知
    • 联系电子邮件 - 当预算累积成本且超过定义的阈值时,电子邮件地址会收到警报。
    • 联系角色 - 在给定范围内具有匹配的 Azure 角色的所有用户都会收到带有此选项的电子邮件警报。 例如,订阅所有者可能会收到在订阅范围内创建的预算警报。
    • 联系人组 - 超出警报阈值时,预算将调用已配置的操作组。
  • 成本维度筛选器 - 可以通过成本分析或查询 API 进行的筛选,也可以对预算进行。 使用此筛选器,可以缩小对于预算要监视的成本范围。

确定满足你需求的预算创建选项后,请使用 API 创建预算。 以下示例可帮助你开始使用常见预算配置。

创建筛选到多种资源和标记的预算

请求 URL:PUT https://management.chinacloudapi.cn/subscriptions/{SubscriptionId}/providers/Microsoft.Consumption/budgets/{BudgetName}/?api-version=2019-10-01

{
  "eTag": "\"1d34d016a593709\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}",
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "contactEmails": [
          "user1@contoso.com",
          "user2@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}
        ],
        "thresholdType": "Actual"
      }
    }
  }
}

预算警报电子邮件支持的区域设置

设定预算后,将在超过设定的限额时向你发出警报。 每个预算最多可设置五个电子邮件收件人。 收件人在超过预算限额后 24 小时内收到电子邮件警报。 不过,收件人可能需要接收以其他语言编写的电子邮件。 可以将以下语言区域性代码用于预算 API。 使用 locale 参数设置区域性代码,如以下示例所示。

{
  "eTag": "\"1d681a8fc67f77a\"",
  "properties": {
    "timePeriod": {
      "startDate": "2020-07-24T00:00:00Z",
      "endDate": "2022-07-23T00:00:00Z"
    },
    "timeGrain": "BillingMonth",
    "amount": 1,
    "currentSpend": {
      "amount": 0,
      "unit": "USD"
    },
    "category": "Cost",
    "notifications": {
      "actual_GreaterThan_10_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 20,
        "locale": "zh-cn",
        "contactEmails": [
          "user@contoso.com"
        ],
        "contactRoles": [],
        "contactGroups": [],
        "thresholdType": "Actual"
      }
    }
  }
}

区域性代码支持的语言:

区域性代码 语言
zh-cn 英语(美国)
ja-jp 日语(日本)
zh-cn 中文(简体,中国)
de-de 德语(德国)
es-es 西班牙语(西班牙,国际)
fr-fr 法语(法国)
it-it 意大利语(意大利)
ko-kr 韩语(韩国)
pt-br 葡萄牙语(巴西)
ru-ru 俄语(俄罗斯)
zh-tw 繁体中文(中国台湾)
cs-cz 捷克语(捷克共和国)
pl-pl 波兰语(波兰)
tr-tr 土耳其语 (Türkiye)
da-dk 丹麦语(丹麦)
en-gb 英语(英国)
hu-hu 匈牙利语(匈牙利)
nb-no 挪威博克马尔语(挪威)
nl-nl 荷兰语(荷兰)
pt-pt 葡萄牙语(葡萄牙)
sv-se 瑞典语(瑞典)

为预算警报配置基于成本的业务流程

可以配置预算以使用 Azure 操作组启动自动执行操作。 若要详细了解使用预算自动执行操作,请参阅使用预算实现自动化