教學課程:使用匯出 API 植入歷程記錄成本資料集
大型組織通常需要分析過去一年以上的歷程記錄成本。 進行目標性的一次性查詢,或是設定報告儀表板來呈現一段時間內的成本趨勢,都可能需要建立資料集。 不論是哪一種情況,您都需要能夠可靠地取得資料的方法,以便將資料載入可以查詢的資料存放區。 植入歷程記錄成本資料集之後,您的資料存放區就可以隨著輸入新成本而更新,讓您的報告保持在最新狀態。 歷程記錄成本很少變更,如果變更,您會收到通知。 因此,建議您每個月重新整理一次歷程記錄成本即可。
在本教學課程中,您會了解如何:
- 取得服務主體的持有人權杖
- 格式化要求
- 執行一個月區塊內的要求
必要條件
您需要適當的權限才能成功呼叫匯出 API。 建議在自動化案例中使用服務主體。
- 若要深入了解,請參閱將權限指派給成本管理 API。
- 若要深入了解匯出 API 所需的特定權限,請參閱了解和使用範圍。
此外,您需要直接查詢 API 的方法。 查詢 API 的一些熱門方式如下:
- Visual Studio
- Insomnia
- Bruno
- PowerShell 的 Invoke-RestMethod
- Curl
取得服務主體的持有人權杖
若要了解如何取得服務主體的持有人權杖,請參閱取得存取權杖。
格式化要求
請參閱下列範例要求,並建立您專屬的一次性資料匯出。 下列範例要求會在指定的 Azure 儲存體帳戶中建立一個月的實際成本資料集。 建議您不要在每份報表中要求超過一個月的資料。 如果您每個月都有大型資料集,建議您為一次性匯出設定 partitionData = true
,將其分割成多個檔案。 如需詳細資訊,請參閱大型資料集的檔案分割。
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{enrollmentId}/providers/Microsoft.CostManagement/exports/{ExportName}?api-version=2021-10-01
要求標頭
Authorization: <YOUR BEARER TOKEN>
Accept: /*/
Content-Type: application/json
要求本文
{
"properties": {
"definition": {
"dataset": {
"granularity": "Daily",
"grouping": []
},
"timePeriod": {
"from": "2021-09-01T00:00:00.000Z",
"to": "2021-09-30T00:00:00.000Z"
},
"timeframe": "Custom",
"type": "ActualCost"
},
"deliveryInfo": {
"destination": {
"container": "{containerName}",
"rootFolderPath": "{folderName}",
"resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}"
}
},
"format": "Csv",
"partitionData": false
}
}
建立一個月區塊的匯出
建議您在一個月區塊中建立一次性資料匯出。 如果您想要植入一年的歷程記錄資料集,則應該執行 12 個匯出 API 要求,亦即每個月一個。 植入歷程記錄資料集之後,您可以接著建立排程的匯出,以繼續在 Azure 儲存體中填入成本資料,因為您的費用會隨著時間累加。
執行每個匯出
既然您已為每個月建立匯出,就必須呼叫執行 API 來手動執行每個匯出。 以下是 API 的範例要求。
POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run?api-version=2021-10-01
下一步
在本教學課程中,您已了解如何:
- 取得服務主體的持有人權杖
- 格式化要求
- 執行一個月區塊內的要求
若要深入了解成本詳細資料,請參閱擷取成本詳細資料。
若要深入了解成本詳細資料的資料集內可用之資料,請參閱了解成本詳細資料的資料欄位。