Zelfstudie: Een gegevensset met historische kosten seeden met de Exports-API
Grote organisaties moeten hun historische kosten vaak een jaar of langer analyseren. Het maken van de gegevensset is mogelijk nodig voor gerichte eenmalige vragen of het instellen van rapportagedashboards om kostentrends in de loop van de tijd te visualiseren. In beide gevallen hebt u een manier nodig om de gegevens betrouwbaar op te halen, zodat u deze kunt laden in een gegevensarchief waarop u query's kunt uitvoeren. Nadat uw historische kostengegevensset is geseed, kan uw gegevensarchief worden bijgewerkt wanneer er nieuwe kosten binnenkomen, zodat uw rapportage up-to-date blijft. Historische kosten veranderen zelden en zo ja, dan krijgt u een melding. Daarom raden we u aan uw historische kosten niet meer dan één keer per maand te vernieuwen.
In deze zelfstudie leert u het volgende:
- Een Bearer-token ophalen voor uw service-principal
- De aanvraag opmaken
- De aanvragen uitvoeren in segmenten van één maand
Vereisten
U hebt de juiste machtigingen nodig om de Exports-API aan te roepen. We raden u aan een service-principal te gebruiken in automatiseringsscenario's.
- Zie Machtigingen toewijzen aan Cost Management-API's voor meer informatie.
- Zie Begrijpen en werken met bereiken voor meer informatie over de specifieke machtigingen die nodig zijn voor de Exports-API.
Daarnaast hebt u een manier nodig om rechtstreeks een query uit te voeren op de API. Enkele populaire manieren om een query uit te voeren op de API zijn:
- Visual Studio
- Slapeloosheid
- Bruno
- Invoke-RestMethod van PowerShell
- Krul
Een Bearer-token ophalen voor uw service-principal
Zie Een toegangstoken verkrijgen voor meer informatie over het ophalen van een bearer-token met een service-principal.
De aanvraag opmaken
Zie de volgende voorbeeldaanvraag en maak uw eigen eenmalige gegevensexport. Met de volgende voorbeeldaanvraag wordt een gegevensset met werkelijke kosten van één maand gemaakt in het opgegeven Azure-opslagaccount. U wordt aangeraden niet meer dan één maand aan gegevens per rapport aan te vragen. Als u elke maand een grote gegevensset hebt, wordt u aangeraden partitionData = true
deze eenmalig te exporteren om deze te splitsen in meerdere bestanden. Zie Bestandspartitionering voor grote gegevenssets voor meer informatie.
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{enrollmentId}/providers/Microsoft.CostManagement/exports/{ExportName}?api-version=2021-10-01
Aanvraagheaders
Authorization: <YOUR BEARER TOKEN>
Accept: /*/
Content-Type: application/json
Hoofdtekst van aanvraag
{
"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
}
}
Exports maken in segmenten van één maand
U kunt het beste eenmalige gegevensexports maken in segmenten van één maand. Als u een historische gegevensset van één jaar wilt seeden, moet u 12 EXPORT-API-aanvragen uitvoeren, één voor elke maand. Nadat u uw historische gegevensset hebt geseed, kunt u vervolgens een geplande export maken om uw kostengegevens in Azure Storage te blijven vullen wanneer uw kosten in de loop van de tijd toenemen.
Elke export uitvoeren
Nu u de export voor elke maand hebt gemaakt, moet u deze handmatig uitvoeren door de Execute-API aan te roepen. Hier volgt een voorbeeld van een aanvraag voor de API.
POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run?api-version=2021-10-01
Volgende stappen
In deze zelfstudie heeft u het volgende geleerd:
- Een Bearer-token ophalen voor uw service-principal
- De aanvraag opmaken
- De aanvragen uitvoeren in segmenten van één maand
Zie gegevens over kostengegevens opnemen voor meer informatie over kostendetails.
Zie Gegevensvelden voor kostendetails begrijpen voor meer informatie over welke gegevens beschikbaar zijn in de gegevensset met kostengegevens.