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

Cost Allocation Rules - Create Or Update

创建/更新规则,以在计费帐户或企业注册中的不同资源之间分配成本。

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/{ruleName}?api-version=2024-08-01

URI 参数

名称 必需 类型 说明
billingAccountId
path True

string

BillingAccount ID

ruleName
path True

string

成本分配规则名称。 该名称不能包含空格或除“_”和“-”以外的任何非字母数字字符。 最大长度为 260 个字符。

正则表达式模式: [A-Za-z0-9\-_]+

api-version
query True

string

用于此操作的 API 版本。

请求正文

名称 类型 说明
properties

CostAllocationRuleProperties

成本分配规则属性

响应

名称 类型 说明
200 OK

CostAllocationRuleDefinition

还行。 更新请求已成功。

201 Created

CostAllocationRuleDefinition

创建。 请求已成功。

Other Status Codes

ErrorResponse

描述操作失败的原因的错误响应。

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

示例

CostAllocationRulesCreateResourceGroup
CostAllocationRulesCreateTag

CostAllocationRulesCreateResourceGroup

示例请求

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule?api-version=2024-08-01

{
  "properties": {
    "description": "This is a testRule",
    "status": "Active",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG",
            "secondRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 45
            },
            {
              "name": "destinationRG2",
              "percentage": 54
            }
          ]
        }
      ]
    }
  }
}

示例响应

{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}
{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}

CostAllocationRulesCreateTag

示例请求

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule?api-version=2024-08-01

{
  "properties": {
    "description": "This is a testRule",
    "status": "Active",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Tag",
          "name": "category",
          "values": [
            "devops"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 33.33
            },
            {
              "name": "destinationRG2",
              "percentage": 33.33
            },
            {
              "name": "destinationRG3",
              "percentage": 33.34
            }
          ]
        }
      ]
    }
  }
}

示例响应

{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}
{
  "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
  "name": "testRule",
  "type": "Microsoft.CostManagement/costAllocationRules",
  "properties": {
    "description": "This is a testRule",
    "createdDate": "2020-06-18T22:21:51.1287144Z",
    "updatedDate": "2020-06-18T22:21:51.1287144Z",
    "status": "Creating",
    "details": {
      "sourceResources": [
        {
          "resourceType": "Dimension",
          "name": "ResourceGroupName",
          "values": [
            "sampleRG"
          ]
        }
      ],
      "targetResources": [
        {
          "resourceType": "Dimension",
          "policyType": "FixedProportion",
          "name": "ResourceGroupName",
          "values": [
            {
              "name": "destinationRG",
              "percentage": 50
            },
            {
              "name": "destinationRG2",
              "percentage": 50
            }
          ]
        }
      ]
    }
  }
}

定义

名称 说明
CostAllocationPolicyType

用于分配成本的方法。 FixedProportion 指示将基于指定百分比值拆分成本。

CostAllocationProportion

目标资源和分配

CostAllocationResourceType

要用于分配的资源类别。

CostAllocationRuleDefinition

成本分配规则模型定义

CostAllocationRuleDetails

成本分配规则的资源详细信息

CostAllocationRuleProperties

成本分配规则的属性

ErrorDetails

错误的详细信息。

ErrorResponse

错误响应指示服务无法处理传入请求。 错误消息中提供了原因。

一些错误响应:

  • 429 TooManyRequests - 请求受到限制。 等待“x-ms-ratelimit-microsoft.consumption-retry-after”标头中指定的时间后重试。

  • 503 ServiceUnavailable - 服务暂时不可用。 在等待“Retry-After”标头中指定的时间后重试。

RuleStatus

规则的当前状态。

SourceCostAllocationResource

用于成本分配的源资源

TargetCostAllocationResource

目标资源用于成本分配。

CostAllocationPolicyType

用于分配成本的方法。 FixedProportion 指示将基于指定百分比值拆分成本。

名称 类型 说明
FixedProportion

string

CostAllocationProportion

目标资源和分配

名称 类型 说明
name

string

成本分配的目标资源

percentage

number

要分配给此资源的源成本百分比。 此值可以指定为两个小数位数,并且此规则中所有资源的总百分比必须总和为 100.00。

CostAllocationResourceType

要用于分配的资源类别。

名称 类型 说明
Dimension

string

指示用于分配的 Azure 维度,例如订阅 ID 或资源组名称。

Tag

string

根据 Azure 标记键值对分配成本。

CostAllocationRuleDefinition

成本分配规则模型定义

名称 类型 说明
id

string

规则的 Azure 资源管理器 ID。 这是一个读取 ony 值。

name

string

规则的名称。 这是只读值。

properties

CostAllocationRuleProperties

成本分配规则属性

type

string

规则的资源类型。 这是 Microsoft.CostManagement/CostAllocationRule 的只读值。

CostAllocationRuleDetails

成本分配规则的资源详细信息

名称 类型 说明
sourceResources

SourceCostAllocationResource[]

用于成本分配的源资源。 此时,此列表不能包含多个元素。

targetResources

TargetCostAllocationResource[]

目标资源用于成本分配。 此时,此列表不能包含多个元素。

CostAllocationRuleProperties

成本分配规则的属性

名称 类型 说明
createdDate

string

创建规则的时间。 更改相同资源成本的规则按创建顺序应用。

description

string

成本分配规则的说明。

details

CostAllocationRuleDetails

成本分配规则的资源信息

status

RuleStatus

规则的状态

updatedDate

string

上次更新规则的时间。

ErrorDetails

错误的详细信息。

名称 类型 说明
code

string

错误代码。

message

string

指示操作失败的原因的错误消息。

ErrorResponse

错误响应指示服务无法处理传入请求。 错误消息中提供了原因。

一些错误响应:

  • 429 TooManyRequests - 请求受到限制。 等待“x-ms-ratelimit-microsoft.consumption-retry-after”标头中指定的时间后重试。

  • 503 ServiceUnavailable - 服务暂时不可用。 在等待“Retry-After”标头中指定的时间后重试。

名称 类型 说明
error

ErrorDetails

错误的详细信息。

RuleStatus

规则的当前状态。

名称 类型 说明
Active

string

规则会保存并影响成本分配。

NotActive

string

保存规则,但不用于分配成本。

Processing

string

保存规则并更新成本分配。 无法在 put 请求中提交的只读值。

SourceCostAllocationResource

用于成本分配的源资源

名称 类型 说明
name

string

如果资源类型为维度,则必须为 ResourceGroupName 或 SubscriptionId。 如果资源类型为标记,则必须是有效的 Azure 标记

resourceType

CostAllocationResourceType

此成本分配规则中包含的资源类型

values

string[]

用于成本分配的源资源。 此列表不能包含超过 25 个值。

TargetCostAllocationResource

目标资源用于成本分配。

名称 类型 说明
name

string

如果资源类型为维度,则必须为 ResourceGroupName 或 SubscriptionId。 如果资源类型为标记,则必须是有效的 Azure 标记

policyType

CostAllocationPolicyType

规则的成本分配方法

resourceType

CostAllocationResourceType

此成本分配规则中包含的资源类型

values

CostAllocationProportion[]

目标资源用于成本分配。 此列表不能包含超过 25 个值。