你当前正在访问 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 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
billing
|
path | True |
string |
BillingAccount ID |
rule
|
path | True |
string |
成本分配规则名称。 该名称不能包含空格或除“_”和“-”以外的任何非字母数字字符。 最大长度为 260 个字符。 正则表达式模式: |
api-version
|
query | True |
string |
用于此操作的 API 版本。 |
请求正文
名称 | 类型 | 说明 |
---|---|---|
properties |
成本分配规则属性 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
还行。 更新请求已成功。 |
|
201 Created |
创建。 请求已成功。 |
|
Other Status Codes |
描述操作失败的原因的错误响应。 |
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 | 说明 |
---|---|
user_impersonation | 模拟用户帐户 |
示例
Cost |
Cost |
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
}
]
}
]
}
}
}
定义
名称 | 说明 |
---|---|
Cost |
用于分配成本的方法。 FixedProportion 指示将基于指定百分比值拆分成本。 |
Cost |
目标资源和分配 |
Cost |
要用于分配的资源类别。 |
Cost |
成本分配规则模型定义 |
Cost |
成本分配规则的资源详细信息 |
Cost |
成本分配规则的属性 |
Error |
错误的详细信息。 |
Error |
错误响应指示服务无法处理传入请求。 错误消息中提供了原因。 一些错误响应:
|
Rule |
规则的当前状态。 |
Source |
用于成本分配的源资源 |
Target |
目标资源用于成本分配。 |
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 |
成本分配规则属性 |
|
type |
string |
规则的资源类型。 这是 Microsoft.CostManagement/CostAllocationRule 的只读值。 |
CostAllocationRuleDetails
成本分配规则的资源详细信息
名称 | 类型 | 说明 |
---|---|---|
sourceResources |
用于成本分配的源资源。 此时,此列表不能包含多个元素。 |
|
targetResources |
目标资源用于成本分配。 此时,此列表不能包含多个元素。 |
CostAllocationRuleProperties
成本分配规则的属性
名称 | 类型 | 说明 |
---|---|---|
createdDate |
string |
创建规则的时间。 更改相同资源成本的规则按创建顺序应用。 |
description |
string |
成本分配规则的说明。 |
details |
成本分配规则的资源信息 |
|
status |
规则的状态 |
|
updatedDate |
string |
上次更新规则的时间。 |
ErrorDetails
错误的详细信息。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
错误代码。 |
message |
string |
指示操作失败的原因的错误消息。 |
ErrorResponse
错误响应指示服务无法处理传入请求。 错误消息中提供了原因。
一些错误响应:
429 TooManyRequests - 请求受到限制。 等待“x-ms-ratelimit-microsoft.consumption-retry-after”标头中指定的时间后重试。
503 ServiceUnavailable - 服务暂时不可用。 在等待“Retry-After”标头中指定的时间后重试。
名称 | 类型 | 说明 |
---|---|---|
error |
错误的详细信息。 |
RuleStatus
规则的当前状态。
名称 | 类型 | 说明 |
---|---|---|
Active |
string |
规则会保存并影响成本分配。 |
NotActive |
string |
保存规则,但不用于分配成本。 |
Processing |
string |
保存规则并更新成本分配。 无法在 put 请求中提交的只读值。 |
SourceCostAllocationResource
用于成本分配的源资源
名称 | 类型 | 说明 |
---|---|---|
name |
string |
如果资源类型为维度,则必须为 ResourceGroupName 或 SubscriptionId。 如果资源类型为标记,则必须是有效的 Azure 标记 |
resourceType |
此成本分配规则中包含的资源类型 |
|
values |
string[] |
用于成本分配的源资源。 此列表不能包含超过 25 个值。 |
TargetCostAllocationResource
目标资源用于成本分配。
名称 | 类型 | 说明 |
---|---|---|
name |
string |
如果资源类型为维度,则必须为 ResourceGroupName 或 SubscriptionId。 如果资源类型为标记,则必须是有效的 Azure 标记 |
policyType |
规则的成本分配方法 |
|
resourceType |
此成本分配规则中包含的资源类型 |
|
values |
目标资源用于成本分配。 此列表不能包含超过 25 个值。 |