简体   繁体   中英

Azure cost analysis for a particular subscription using Python SDK

So I'm trying to automate fetching the current cost and cost forecast (Like it is shown under cost analysis for a particular subscription) for a particular subscription using python SDK but I haven't been able to find a single API that does this yet.

I've tried using UsageAggregate and Rate card but I haven't really figured out a way to find the cost for the current month to date. If there is an API that I'm missing or if I need to calculate monthly costs myself, I'd appreciate any code snippets or help.

If you already have the usage and the ratecard data, then you must combine them. Take the meterId of the usage data and get the related ratecard data.

The ratecard data contains the MeterRates and the IncludedQuantity which you must take.

There are probably multiple meter rates and the included quantity because there are probably different costs per usage (eg first 10 calls for free, 3 GB for free, ...).

The consumption starts/is reseted at the 14th of the month. That's the reason why you have to read the data from the whole billing period (begins with 14th of each month), because that's the only way how you get the correct consumption.

So, if you are using eg Azure Functions and you have a usage of 100.000 units per day and you want the costs from 20th - 30th, then the calculation works as follows:

read data from 14th - 30th. These are 17 days and therefore it used 1.700.000 units. The first 400.000 are for free = IncludedQuantity (so in this sample the first 4 days).

From the 400.001 unit on, you have to take the meter rate (0,0000134928 €) and calculate the costs. 1.300.000 * 0,0000134928 = ~17,54€.

Fortunately, the azure functions have only one rate. If the rate changes eg after 5.000.000 units, then you also have to take this into account. If you have the whole costs, then you can filter on your date which is 20.-30. and you will get the result.

Its calculation implemented in C# and published it as a NuGet package here . It also contains a sample console which you could use to export the data.

I know I am bit late to the party, but after struggling with the same problem, I managed to create the code for getting the cost of a resource group using

azure.mgmt.costmanagement

Link to cost management API

Code sample is in my answer here

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM