使用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存储库上遇到了相同的问题。
答案 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