共用方式為


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 參數

名稱 位於 必要 類型 Description
billingAccountId
path True

string

BillingAccount 識別符

ruleName
path True

string

成本配置規則名稱。 名稱不能包含空格或任何 '_' 和 '-' 以外的非英數位元。 最大長度為 260 個字元。

Regex 模式: [A-Za-z0-9\-_]+

api-version
query True

string

要用於這項作業的 API 版本。

要求本文

名稱 類型 Description
properties

CostAllocationRuleProperties

成本配置規則屬性

回應

名稱 類型 Description
200 OK

CostAllocationRuleDefinition

還行。 更新要求已成功。

201 Created

CostAllocationRuleDefinition

創建。 要求已成功。

Other Status Codes

ErrorResponse

描述作業失敗原因的錯誤回應。

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

類型: oauth2
Flow: implicit
授權 URL: https://login.microsoftonline.com/common/oauth2/authorize

範圍

名稱 Description
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
            }
          ]
        }
      ]
    }
  }
}

定義

名稱 Description
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 表示成本會根據指定的百分比值進行分割。

名稱 類型 Description
FixedProportion

string

CostAllocationProportion

目標資源和配置

名稱 類型 Description
name

string

成本配置的目標資源

percentage

number

要配置給此資源的來源成本百分比。 這個值可以指定為兩個小數位數,而且此規則中所有資源的總百分比必須加總到 100.00。

CostAllocationResourceType

要用於配置的資源類別。

名稱 類型 Description
Dimension

string

指出 Azure 維度,例如訂用帳戶標識碼或資源組名正用於配置。

Tag

string

根據 Azure 標記索引鍵值組來配置成本。

CostAllocationRuleDefinition

成本配置規則模型定義

名稱 類型 Description
id

string

規則的 Azure Resource Manager 識別符。 這是讀取 ony 值。

name

string

規則的名稱。 這是唯讀值。

properties

CostAllocationRuleProperties

成本配置規則屬性

type

string

規則的資源類型。 這是 Microsoft.CostManagement/CostAllocationRule 的唯讀值。

CostAllocationRuleDetails

成本配置規則的資源詳細數據

名稱 類型 Description
sourceResources

SourceCostAllocationResource[]

成本配置的來源資源。 此時,此清單不能包含一個以上的專案。

targetResources

TargetCostAllocationResource[]

以成本配置為目標的資源。 此時,此清單不能包含一個以上的專案。

CostAllocationRuleProperties

成本配置規則的屬性

名稱 類型 Description
createdDate

string

建立規則的時間。 變更相同資源成本的規則會依建立順序套用。

description

string

成本配置規則的描述。

details

CostAllocationRuleDetails

成本配置規則的資源資訊

status

RuleStatus

規則的狀態

updatedDate

string

上次更新規則的時間。

ErrorDetails

錯誤的詳細數據。

名稱 類型 Description
code

string

錯誤碼。

message

string

錯誤訊息,指出作業失敗的原因。

ErrorResponse

錯誤回應表示服務無法處理傳入要求。 錯誤訊息中會提供原因。

某些錯誤回應:

  • 429 TooManyRequests - 要求已節流。 等候 「x-ms-ratelimit-microsoft.consumption-retry-after」 標頭中指定的時間後重試。

  • 503 ServiceUnavailable - 服務暫時無法使用。 等候 「Retry-After」 標頭中指定的時間後重試。

名稱 類型 Description
error

ErrorDetails

錯誤的詳細數據。

RuleStatus

規則的目前狀態。

名稱 類型 Description
Active

string

規則會儲存並影響成本配置。

NotActive

string

規則會儲存,但不會用來配置成本。

Processing

string

規則已儲存,且正在更新成本配置。 無法在 Put 要求中提交的唯讀值。

SourceCostAllocationResource

成本配置的來源資源

名稱 類型 Description
name

string

如果資源類型是維度,這必須是 ResourceGroupName 或 SubscriptionId。 如果資源類型為標籤,這必須是有效的 Azure 標籤

resourceType

CostAllocationResourceType

此成本配置規則中包含的資源類型

values

string[]

成本配置的來源資源。 此清單不能包含超過25個值。

TargetCostAllocationResource

以成本配置為目標的資源。

名稱 類型 Description
name

string

如果資源類型是維度,這必須是 ResourceGroupName 或 SubscriptionId。 如果資源類型為標籤,這必須是有效的 Azure 標籤

policyType

CostAllocationPolicyType

規則的成本配置方法

resourceType

CostAllocationResourceType

此成本配置規則中包含的資源類型

values

CostAllocationProportion[]

以成本配置為目標的資源。 此清單不能包含超過25個值。