Generate Cost Details Report - Create Operation
此 API 是先前所有發行使用量詳細資料 API 的取代專案。 要求針對提供日期範圍、計費期間(僅限企業客戶)或特定範圍異步的發票標識碼產生成本詳細數據報告。 要求報表的初始呼叫會傳回具有 『Location』 和 『Retry-After』 標頭的 202。 「位置」標頭會提供要輪詢的端點,以取得產生報表的結果。 「重試後」提供輪詢所產生報表之前要等候的持續時間。 輪詢報表作業的呼叫會提供 202 回應,如果作業仍在進行中,則會提供具有「位置」標頭的回應。 報表產生作業完成後,輪詢端點會提供 200 回應,以及可供下載之報表 Blob 的詳細數據。 可供下載之檔案的詳細數據將在輪詢回應本文中取得。 若要了解檔案中找到的成本詳細數據(先前稱為使用量詳細數據)字段,請參閱 https://learn.microsoft.com/en-us/azure/cost-management-billing/automate/understand-usage-details-fields
POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
scope
|
path | True |
string |
訂用帳戶、計費帳戶或其他計費範圍的 ARM 資源標識碼。目前不支援資源群組和管理群組。 如需詳細資訊,請參閱 https://aka.ms/costmgmt/scopes。 |
api-version
|
query | True |
string |
要用於這項作業的 API 版本。 |
要求本文
名稱 | 類型 | Description |
---|---|---|
billingPeriod |
string |
此參數只能供 Enterprise 合約客戶使用。 使用 YearMonth(例如202008) 格式。 此參數不能與 invoiceId 或 timePeriod 參數搭配使用。 如果在要求本文中未提供 timePeriod、invoiceId 或 billingPeriod 參數,API 會傳回當月的成本。 |
invoiceId |
string |
此參數只能由Microsoft客戶合約客戶使用。 此外,它只能用於帳單配置檔或客戶範圍。 此參數不能與 billingPeriod 或 timePeriod 參數搭配使用。 如果在要求本文中未提供 timePeriod、invoiceId 或 billingPeriod 參數,API 會傳回當月的成本。 |
metric |
詳細報表的類型。 預設會提供 ActualCost |
|
timePeriod |
要求報表之成本詳細數據的特定日期範圍。 此參數不能與 invoiceId 或 billingPeriod 參數搭配使用。 如果在要求本文中未提供 timePeriod、invoiceId 或 billingPeriod 參數,API 會傳回當月的成本。 API 只允許提取 1 個月或更少的數據,且不超過 13 個月。 如果未提供 timePeriod 或 billingPeriod 或 invoiceId,則 API 預設為開啟的月份時間週期 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
要求處理已完成。 |
|
202 Accepted |
接受。 將會處理要求。 使用 [位置] 標頭來檢查狀態。 標題
|
|
204 No Content |
沒有內容。 要求已成功,但未傳回任何結果。 |
|
Other Status Codes |
描述作業失敗原因的錯誤回應。 |
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
user_impersonation | 模擬您的用戶帳戶 |
範例
GenerateCostDetailsReportByBillingAccountEnterpriseAgreementCustomerAndBillingPeriod
範例要求
POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"billingPeriod": "202205"
}
範例回覆
{
"id": "providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "providers/Microsoft.Billing/billingAccounts/12345",
"requestBody": {
"metric": "ActualCost",
"billingPeriod": "202205"
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
GenerateCostDetailsReportByBillingProfileAndInvoiceId
範例要求
POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"invoiceId": "M1234567"
}
範例回覆
{
"id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
"requestBody": {
"metric": "ActualCost",
"billingPeriod": "202205"
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
GenerateCostDetailsReportByBillingProfileAndInvoiceIdAndCustomerId
範例要求
POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"invoiceId": "M1234567"
}
範例回覆
{
"id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579",
"requestBody": {
"metric": "ActualCost",
"billingPeriod": "202205"
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
GenerateCostDetailsReportByCustomerAndTimePeriod
範例要求
POST https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
範例回覆
{
"id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579",
"requestBody": {
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/13579/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
GenerateCostDetailsReportByDepartmentsAndTimePeriod
範例要求
POST https://management.azure.com/providers/Microsoft.Billing/departments/12345/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
範例回覆
{
"id": "providers/Microsoft.Billing/departments/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "providers/Microsoft.Billing/departments/12345",
"requestBody": {
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/departments/12345/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
GenerateCostDetailsReportByEnrollmentAccountsAndTimePeriod
範例要求
POST https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/1234/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
範例回覆
{
"id": "providers/Microsoft.Billing/enrollmentAccounts/1234/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "providers/Microsoft.Billing/enrollmentAccounts/1234",
"requestBody": {
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/1234/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
GenerateCostDetailsReportBySubscriptionAndTimePeriod
範例要求
POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/generateCostDetailsReport?api-version=2024-08-01
{
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
範例回覆
{
"id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"status": "Completed",
"manifest": {
"manifestVersion": "2024-08-01",
"dataFormat": "Csv",
"blobCount": 1,
"byteCount": 32741,
"compressData": false,
"requestContext": {
"requestScope": "subscriptions/00000000-0000-0000-0000-000000000000",
"requestBody": {
"metric": "ActualCost",
"timePeriod": {
"start": "2020-03-01",
"end": "2020-03-15"
}
}
},
"blobs": [
{
"blobLink": "https://ccmreportstorageeastus.blob.core.windows.net/armreports/00000/00000000-0000-0000-0000-000000000000?sv=2020-05-31&sr=b&sig=abcd",
"byteCount": 32741
}
]
},
"validTill": "2022-05-10T08:08:46.1973252Z"
}
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/costDetailsOperationResults/00000000-0000-0000-0000-000000000000?api-version=2024-08-01
Retry-After: 60
定義
名稱 | Description |
---|---|
Blob |
這項作業所產生的 Blob 資訊。 |
Cost |
報表的數據格式 |
Cost |
詳細報表的類型。 預設會提供 ActualCost |
Cost |
長時間執行作業的結果,以取得成本詳細數據 Api。 |
Cost |
成本詳細數據作業的狀態 |
Cost |
提取成本詳細報表數據的開始日期和結束日期。 API 只允許提取 1 個月或更少的數據,且不超過 13 個月。 |
Error |
錯誤的詳細數據。 |
Generate |
錯誤回應表示服務無法處理傳入要求。 錯誤訊息中會提供原因。 某些錯誤回應:
|
Generate |
成本詳細報表的定義。 |
BlobInfo
這項作業所產生的 Blob 資訊。
名稱 | 類型 | Description |
---|---|---|
blobLink |
string |
連結至 Blob 以下載檔。 |
byteCount |
integer |
Blob 中的位元組。 |
CostDetailsDataFormat
報表的數據格式
名稱 | 類型 | Description |
---|---|---|
Csv |
string |
Csv 數據格式。 |
CostDetailsMetricType
詳細報表的類型。 預設會提供 ActualCost
名稱 | 類型 | Description |
---|---|---|
ActualCost |
string |
實際成本數據。 |
AmortizedCost |
string |
分攤成本數據。 |
CostDetailsOperationResults
長時間執行作業的結果,以取得成本詳細數據 Api。
名稱 | 類型 | Description |
---|---|---|
error |
錯誤的詳細數據。 |
|
id |
string |
長時間執行作業的標識碼。 |
manifest.blobCount |
integer |
Blob 總數。 |
manifest.blobs |
Blob |
此作業所產生的 Blob 資訊清單。 |
manifest.byteCount |
integer |
所有 Blob 中的位元組總數。 |
manifest.compressData |
boolean |
這是壓縮格式的數據。 |
manifest.dataFormat |
報表的數據格式 |
|
manifest.manifestVersion |
string |
指令清單版本。 |
manifest.requestContext.requestBody |
成本詳細數據呼叫中提供的要求承載主體 |
|
manifest.requestContext.requestScope |
string |
要求的要求範圍。 |
name |
string |
長時間執行作業的名稱。 |
status |
成本詳細數據作業的狀態 |
|
type |
string |
長時間執行作業的類型。 |
validTill |
string |
報表 URL 在 UTC 中變成無效/到期的時間,例如 2020-12-08T05:55:59.4394737Z。 |
CostDetailsStatusType
成本詳細數據作業的狀態
名稱 | 類型 | Description |
---|---|---|
Completed |
string |
作業已完成。 |
Failed |
string |
作業失敗。 |
NoDataFound |
string |
作業已完成,且找不到任何成本數據。 |
CostDetailsTimePeriod
提取成本詳細報表數據的開始日期和結束日期。 API 只允許提取 1 個月或更少的數據,且不超過 13 個月。
名稱 | 類型 | Description |
---|---|---|
end |
string |
要提取數據的結束日期。範例格式 2020-03-15 |
start |
string |
要從中提取數據的開始日期。 範例格式 2020-03-15 |
ErrorDetails
錯誤的詳細數據。
名稱 | 類型 | Description |
---|---|---|
code |
string |
錯誤碼。 |
message |
string |
錯誤訊息,指出作業失敗的原因。 |
GenerateCostDetailsReportErrorResponse
錯誤回應表示服務無法處理傳入要求。 錯誤訊息中會提供原因。
某些錯誤回應:
400 不正確的要求 - 無效的要求承載。 所提供的要求承載不是 JSON 格式,或要求承載中不接受無效的成員。
400 不正確的要求 - 無效的要求承載:只能有 timePeriod 或 invoiceId 或 billingPeriod。 API 只允許提取 timePeriod 或 invoiceId 或 billingPeriod 的數據。 客戶應該只提供其中一個參數。
400 不正確的要求 - 開始日期必須在 之後。 API 只允許從現在起不超過 13 個月的數據提取。
400 不正確的要求 - 允許的日期範圍上限為 1 個月。 API 只允許提取 1 個月或更少的數據。
429 TooManyRequests - 要求已節流。 在等候“retry-after” 標頭中指定的時間後重試。
503 ServiceUnavailable - 服務暫時無法使用。 等候 「Retry-After」 標頭中指定的時間後重試。
名稱 | 類型 | Description |
---|---|---|
error |
錯誤的詳細數據。 |
GenerateCostDetailsReportRequestDefinition
成本詳細報表的定義。
名稱 | 類型 | Description |
---|---|---|
billingPeriod |
string |
此參數只能供 Enterprise 合約客戶使用。 使用 YearMonth(例如202008) 格式。 此參數不能與 invoiceId 或 timePeriod 參數搭配使用。 如果在要求本文中未提供 timePeriod、invoiceId 或 billingPeriod 參數,API 會傳回當月的成本。 |
invoiceId |
string |
此參數只能由Microsoft客戶合約客戶使用。 此外,它只能用於帳單配置檔或客戶範圍。 此參數不能與 billingPeriod 或 timePeriod 參數搭配使用。 如果在要求本文中未提供 timePeriod、invoiceId 或 billingPeriod 參數,API 會傳回當月的成本。 |
metric |
詳細報表的類型。 預設會提供 ActualCost |
|
timePeriod |
要求報表之成本詳細數據的特定日期範圍。 此參數不能與 invoiceId 或 billingPeriod 參數搭配使用。 如果在要求本文中未提供 timePeriod、invoiceId 或 billingPeriod 參數,API 會傳回當月的成本。 API 只允許提取 1 個月或更少的數據,且不超過 13 個月。 如果未提供 timePeriod 或 billingPeriod 或 invoiceId,則 API 預設為開啟的月份時間週期 |