如何从使用数量中获得项目成本& meterRates使用Azure的使用API​​?

时间:2015-09-12 07:18:32

标签: java azure azure-billing-api

使用Microsoft Azure的计费和使用API​​,我发现我们可以从价目表API获取项目资源的使用数量和资源消耗率。但是,在某些情况下,价目表API有一个键值对列表。

例如,请考虑以下 char *str1, *saveptr1, *token ; for ( str1 = full_name; ; str1 = NULL) { token = strtok_r(str1, " " , &saveptr1); // delimited with " " if ( token == NULL ) { break; // break once no tokens available } printf("%c ", *token); // Extract first letter for each word, which probably form the abbreviated string you are looking for }

MeterRates

这里,如果使用量是102400;这是否意味着使用资源的费用为"MeterRates": { "0": 0.0832, "1024": 0.0819, "51200": 0.0806, "512000": 0.0794, "1024000": 0.0775, "5120000": 0.0775 }, 102400 * 0.0784

N.B。:我在the billing and usage API的github存储库上遇到了相同的问题。

2 个答案:

答案 0 :(得分:1)

  

这里,如果使用量是102400;这是否意味着成本   使用该资源将是102400 * 0.0784或(102400 - 1023)* 0.0832   +(102400 - 1023 - 51200)* 0.0819?

实际上更像是: 1023 * 0.0832 + 50176 * 0.0819 + 460800 * 0.0794 + 512000 * 0.0775

基本上这些是定价层,因此您读取它们的方式是从0到1023,它将是0.0832 /单位。从1024 - 51200,它将是0.0819单位,依此类推。

答案 1 :(得分:1)

+1 Gaurav的回应!

RateCard遵循分层定价,这意味着如果有多个层级对特定资源进行评级,则每个层次中的每个使用子集的评级都不同。

让我们再看一个消耗量= 250

的例子

让我们假设费率:

0:1 200:0.9 500:0.8

这意味着单位0 - 199的使用率应为每单位1,200 - 499,每单位0.9和500 +每单位0.8。

250的消费量将按以下方式计算:51 * 0.9 + 199 * 1 = 244.9

相关问题