你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.消耗预算

Bicep 资源定义

可以使用目标操作部署预算资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Consumption/budgets 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Consumption/budgets@2024-08-01' = {
  scope: resourceSymbolicName or scope
  eTag: 'string'
  name: 'string'
  properties: {
    amount: int
    category: 'string'
    filter: {
      and: [
        {
          dimensions: {
            name: 'string'
            operator: 'string'
            values: [
              'string'
            ]
          }
          tags: {
            name: 'string'
            operator: 'string'
            values: [
              'string'
            ]
          }
        }
      ]
      dimensions: {
        name: 'string'
        operator: 'string'
        values: [
          'string'
        ]
      }
      tags: {
        name: 'string'
        operator: 'string'
        values: [
          'string'
        ]
      }
    }
    notifications: {
      {customized property}: {
        contactEmails: [
          'string'
        ]
        contactGroups: [
          'string'
        ]
        contactRoles: [
          'string'
        ]
        enabled: bool
        locale: 'string'
        operator: 'string'
        threshold: int
        thresholdType: 'string'
      }
    }
    timeGrain: 'string'
    timePeriod: {
      endDate: 'string'
      startDate: 'string'
    }
  }
}

属性值

Microsoft.Consumption/budgets (英文)

名字 描述 价值
eTag 标签 资源的 eTag。 若要处理并发更新方案,此字段将用于确定用户是否正在更新最新版本。 字符串
名字 资源名称 string (必需)
性能 预算的属性。 BudgetProperties
作用域 在与部署范围不同的范围内创建资源时使用。 将此属性设置为资源的符号名称,以应用 扩展资源

BudgetComparisonExpression

名字 描述 价值
名字 要进行比较的列的名称。 string (必需)
操作员 要用于比较的运算符。 “In”(必需)
要用于比较的值数组 string[] (必需)

预算过滤器

名字 描述 价值
逻辑“AND”表达式。 必须至少有 2 个项目。 BudgetFilterProperties[]
尺寸 具有维度的比较表达式 BudgetComparisonExpression
标签 具有标记的比较表达式 BudgetComparisonExpression

BudgetFilterProperties

名字 描述 价值
尺寸 具有维度的比较表达式 BudgetComparisonExpression
标签 具有标记的比较表达式 BudgetComparisonExpression

BudgetProperties

名字 描述 价值
用于跟踪预算的总成本 int (必需)
分类 预算类别,无论是预算跟踪成本还是使用情况。 “成本”(必需)
筛选器 可用于按用户指定的维度和/或标记筛选预算。 预算过滤器
通知 与预算关联的通知字典。 预算最多可以有五个通知。 BudgetProperties通知
timeGrain 预算涵盖的时间。 将根据时间粒度重置对金额的跟踪。 仅 WD 客户支持 BillingMonth、BillingQuarter 和 BillingAnnual “每年”
“BillingAnnual”
“BillingMonth”
“BillingQuarter”
“Monthly”
“季度”(必需)
时间周期 预算的开始日期和结束日期。 开始日期必须是月份的第一个,并且应小于结束日期。 预算开始日期必须在 2017 年 6 月 1 日或之后。 未来的开始日期不应超过 12 个月。 应在时间段内选择过去的开始日期。 结束日期没有限制。 BudgetTimePeriod (必需)

BudgetProperties通知

名字 描述 价值

预算时间周期

名字 描述 价值
结束日期 预算的结束日期。 如果未提供,则从开始日期默认为 10 年。 字符串
开始日期 预算的开始日期。 string (必需)

通知

名字 描述 价值
联系电子邮件 用于在超出阈值时将预算通知发送到的电子邮件地址。 必须在订阅或资源组范围内至少指定一个联系人电子邮件或联系人组。 所有其他范围必须至少指定一个联系人电子邮件。 string[] (必需)
contact组 要向超出阈值时发送预算通知的操作组。 必须以完全限定的 Azure 资源 ID 的形式提供。仅在订阅或资源组范围内受支持。 字符串[]
contact角色 联系角色,将预算通知发送到超出阈值时。 字符串[]
启用 通知已启用或不启用。 bool (必需)
区域设置 收件人接收通知的语言 “cs-cz”
“da-dk”
“de-de”
“en-gb”
“en-us”
“es-es”
“fr-fr”
“hu-hu”
“it-it”
“ja-jp”
“ko-kr”
“nb-no”
“nl-nl”
“pl-pl”
“pt-br”
“pt-pt”
“ru-ru”
“sv-se”
“tr-tr”
“zh-cn”
“zh-tw”
操作员 比较运算符。 “EqualTo”
“GreaterThan”
“GreaterThanOrEqualTo”(必需)
阈值 与通知关联的阈值。 当成本超出阈值时发送通知。 它始终是百分比,必须介于 0 到 1000 之间。 int (必需)
thresholdType 阈值的类型 “Actual”
“Forecasted”

用法示例

Azure 验证模块

以下 Azure 验证模块 可用于部署此资源类型。

模块 描述
消费预算 用于消耗预算的 AVM 资源模块

Azure 快速入门示例

以下 Azure 快速入门模板 包含用于部署此资源类型的 Bicep 示例。

Bicep 文件 描述
创建预算 此模板演示如何在订阅下创建预算。
使用筛选器 创建预算 此模板演示如何在订阅下创建预算。
创建简单预算 此模板演示如何在订阅下创建预算。

ARM 模板资源定义

可以使用目标操作部署预算资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Consumption/budgets 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Consumption/budgets",
  "apiVersion": "2024-08-01",
  "name": "string",
  "eTag": "string",
  "properties": {
    "amount": "int",
    "category": "string",
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "string",
            "operator": "string",
            "values": [ "string" ]
          },
          "tags": {
            "name": "string",
            "operator": "string",
            "values": [ "string" ]
          }
        }
      ],
      "dimensions": {
        "name": "string",
        "operator": "string",
        "values": [ "string" ]
      },
      "tags": {
        "name": "string",
        "operator": "string",
        "values": [ "string" ]
      }
    },
    "notifications": {
      "{customized property}": {
        "contactEmails": [ "string" ],
        "contactGroups": [ "string" ],
        "contactRoles": [ "string" ],
        "enabled": "bool",
        "locale": "string",
        "operator": "string",
        "threshold": "int",
        "thresholdType": "string"
      }
    },
    "timeGrain": "string",
    "timePeriod": {
      "endDate": "string",
      "startDate": "string"
    }
  }
}

属性值

Microsoft.Consumption/budgets (英文)

名字 描述 价值
apiVersion API 版本 '2024-08-01'
eTag 标签 资源的 eTag。 若要处理并发更新方案,此字段将用于确定用户是否正在更新最新版本。 字符串
名字 资源名称 string (必需)
性能 预算的属性。 BudgetProperties
类型 资源类型 “Microsoft.Consumption/budgets”

BudgetComparisonExpression

名字 描述 价值
名字 要进行比较的列的名称。 string (必需)
操作员 要用于比较的运算符。 “In”(必需)
要用于比较的值数组 string[] (必需)

预算过滤器

名字 描述 价值
逻辑“AND”表达式。 必须至少有 2 个项目。 BudgetFilterProperties[]
尺寸 具有维度的比较表达式 BudgetComparisonExpression
标签 具有标记的比较表达式 BudgetComparisonExpression

BudgetFilterProperties

名字 描述 价值
尺寸 具有维度的比较表达式 BudgetComparisonExpression
标签 具有标记的比较表达式 BudgetComparisonExpression

BudgetProperties

名字 描述 价值
用于跟踪预算的总成本 int (必需)
分类 预算类别,无论是预算跟踪成本还是使用情况。 “成本”(必需)
筛选器 可用于按用户指定的维度和/或标记筛选预算。 预算过滤器
通知 与预算关联的通知字典。 预算最多可以有五个通知。 BudgetProperties通知
timeGrain 预算涵盖的时间。 将根据时间粒度重置对金额的跟踪。 仅 WD 客户支持 BillingMonth、BillingQuarter 和 BillingAnnual “每年”
“BillingAnnual”
“BillingMonth”
“BillingQuarter”
“Monthly”
“季度”(必需)
时间周期 预算的开始日期和结束日期。 开始日期必须是月份的第一个,并且应小于结束日期。 预算开始日期必须在 2017 年 6 月 1 日或之后。 未来的开始日期不应超过 12 个月。 应在时间段内选择过去的开始日期。 结束日期没有限制。 BudgetTimePeriod (必需)

BudgetProperties通知

名字 描述 价值

预算时间周期

名字 描述 价值
结束日期 预算的结束日期。 如果未提供,则从开始日期默认为 10 年。 字符串
开始日期 预算的开始日期。 string (必需)

通知

名字 描述 价值
联系电子邮件 用于在超出阈值时将预算通知发送到的电子邮件地址。 必须在订阅或资源组范围内至少指定一个联系人电子邮件或联系人组。 所有其他范围必须至少指定一个联系人电子邮件。 string[] (必需)
contact组 要向超出阈值时发送预算通知的操作组。 必须以完全限定的 Azure 资源 ID 的形式提供。仅在订阅或资源组范围内受支持。 字符串[]
contact角色 联系角色,将预算通知发送到超出阈值时。 字符串[]
启用 通知已启用或不启用。 bool (必需)
区域设置 收件人接收通知的语言 “cs-cz”
“da-dk”
“de-de”
“en-gb”
“en-us”
“es-es”
“fr-fr”
“hu-hu”
“it-it”
“ja-jp”
“ko-kr”
“nb-no”
“nl-nl”
“pl-pl”
“pt-br”
“pt-pt”
“ru-ru”
“sv-se”
“tr-tr”
“zh-cn”
“zh-tw”
操作员 比较运算符。 “EqualTo”
“GreaterThan”
“GreaterThanOrEqualTo”(必需)
阈值 与通知关联的阈值。 当成本超出阈值时发送通知。 它始终是百分比,必须介于 0 到 1000 之间。 int (必需)
thresholdType 阈值的类型 “Actual”
“Forecasted”

用法示例

Azure 快速入门模板

以下 Azure 快速入门模板 部署此资源类型。

模板 描述
创建预算

部署到 Azure
此模板演示如何在订阅下创建预算。
使用筛选器 创建预算

部署到 Azure
此模板演示如何在订阅下创建预算。
创建简单预算

部署到 Azure
此模板演示如何在订阅下创建预算。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署预算资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Consumption/budgets 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Consumption/budgets@2024-08-01"
  name = "string"
  parent_id = "string"
  body = {
    eTag = "string"
    properties = {
      amount = int
      category = "string"
      filter = {
        and = [
          {
            dimensions = {
              name = "string"
              operator = "string"
              values = [
                "string"
              ]
            }
            tags = {
              name = "string"
              operator = "string"
              values = [
                "string"
              ]
            }
          }
        ]
        dimensions = {
          name = "string"
          operator = "string"
          values = [
            "string"
          ]
        }
        tags = {
          name = "string"
          operator = "string"
          values = [
            "string"
          ]
        }
      }
      notifications = {
        {customized property} = {
          contactEmails = [
            "string"
          ]
          contactGroups = [
            "string"
          ]
          contactRoles = [
            "string"
          ]
          enabled = bool
          locale = "string"
          operator = "string"
          threshold = int
          thresholdType = "string"
        }
      }
      timeGrain = "string"
      timePeriod = {
        endDate = "string"
        startDate = "string"
      }
    }
  }
}

属性值

Microsoft.Consumption/budgets (英文)

名字 描述 价值
eTag 标签 资源的 eTag。 若要处理并发更新方案,此字段将用于确定用户是否正在更新最新版本。 字符串
名字 资源名称 string (必需)
parent_id 要向其应用此扩展资源的资源的 ID。 string (必需)
性能 预算的属性。 BudgetProperties
类型 资源类型 “Microsoft.Consumption/budgets@2024-08-01”

BudgetComparisonExpression

名字 描述 价值
名字 要进行比较的列的名称。 string (必需)
操作员 要用于比较的运算符。 “In”(必需)
要用于比较的值数组 string[] (必需)

预算过滤器

名字 描述 价值
逻辑“AND”表达式。 必须至少有 2 个项目。 BudgetFilterProperties[]
尺寸 具有维度的比较表达式 BudgetComparisonExpression
标签 具有标记的比较表达式 BudgetComparisonExpression

BudgetFilterProperties

名字 描述 价值
尺寸 具有维度的比较表达式 BudgetComparisonExpression
标签 具有标记的比较表达式 BudgetComparisonExpression

BudgetProperties

名字 描述 价值
用于跟踪预算的总成本 int (必需)
分类 预算类别,无论是预算跟踪成本还是使用情况。 “成本”(必需)
筛选器 可用于按用户指定的维度和/或标记筛选预算。 预算过滤器
通知 与预算关联的通知字典。 预算最多可以有五个通知。 BudgetProperties通知
timeGrain 预算涵盖的时间。 将根据时间粒度重置对金额的跟踪。 仅 WD 客户支持 BillingMonth、BillingQuarter 和 BillingAnnual “每年”
“BillingAnnual”
“BillingMonth”
“BillingQuarter”
“Monthly”
“季度”(必需)
时间周期 预算的开始日期和结束日期。 开始日期必须是月份的第一个,并且应小于结束日期。 预算开始日期必须在 2017 年 6 月 1 日或之后。 未来的开始日期不应超过 12 个月。 应在时间段内选择过去的开始日期。 结束日期没有限制。 BudgetTimePeriod (必需)

BudgetProperties通知

名字 描述 价值

预算时间周期

名字 描述 价值
结束日期 预算的结束日期。 如果未提供,则从开始日期默认为 10 年。 字符串
开始日期 预算的开始日期。 string (必需)

通知

名字 描述 价值
联系电子邮件 用于在超出阈值时将预算通知发送到的电子邮件地址。 必须在订阅或资源组范围内至少指定一个联系人电子邮件或联系人组。 所有其他范围必须至少指定一个联系人电子邮件。 string[] (必需)
contact组 要向超出阈值时发送预算通知的操作组。 必须以完全限定的 Azure 资源 ID 的形式提供。仅在订阅或资源组范围内受支持。 字符串[]
contact角色 联系角色,将预算通知发送到超出阈值时。 字符串[]
启用 通知已启用或不启用。 bool (必需)
区域设置 收件人接收通知的语言 “cs-cz”
“da-dk”
“de-de”
“en-gb”
“en-us”
“es-es”
“fr-fr”
“hu-hu”
“it-it”
“ja-jp”
“ko-kr”
“nb-no”
“nl-nl”
“pl-pl”
“pt-br”
“pt-pt”
“ru-ru”
“sv-se”
“tr-tr”
“zh-cn”
“zh-tw”
操作员 比较运算符。 “EqualTo”
“GreaterThan”
“GreaterThanOrEqualTo”(必需)
阈值 与通知关联的阈值。 当成本超出阈值时发送通知。 它始终是百分比,必须介于 0 到 1000 之间。 int (必需)
thresholdType 阈值的类型 “Actual”
“Forecasted”

用法示例

Terraform 示例

部署消耗预算的基本示例。

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "budget" {
  type      = "Microsoft.Consumption/budgets@2019-10-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  body = {
    properties = {
      amount   = 1000
      category = "Cost"
      filter = {
        tags = {
          name     = "foo"
          operator = "In"
          values   = ["bar"]
        }
      }
      notifications = {
        "Actual_EqualTo_90.000000_Percent" = {
          contactEmails = ["foo@example.com", "bar@example.com"]
          contactGroups = []
          contactRoles  = []
          enabled       = true
          operator      = "EqualTo"
          threshold     = 90
          thresholdType = "Actual"
        }
      }
      timeGrain = "Monthly"
      timePeriod = {
        startDate = "2025-08-01T00:00:00Z"
      }
    }
  }
}