擅长:python、mysql、java
<p>如果您已经有了使用情况和费率卡数据,则必须将它们合并。取下使用数据表,获取相关的费率卡数据。费率卡数据包含您必须携带的仪表和包含的数量。可能有多个电表费率和包含的数量,因为每次使用可能有不同的成本(例如,前10个电话免费,3 GB免费,…)。消费在每月14号开始/重置。这就是为什么你必须读取整个账单周期(从每月14号开始)的数据,因为这是你获得正确消费的唯一途径。在</p>
<p>因此,如果您正在使用例如Azure功能,并且您每天的使用量为100000台,并且您希望成本从20日到30日不等,那么计算如下:
从14号到30号读取数据。这是17天,因此它使用了170.000个单位。
前400.000是免费的=包括数量(因此在本示例中的前4天)。从400.001单位起,您必须采用电表费率(00000134928欧元)并计算成本。130.000*00000134928=约17.54欧元。幸运的是,azure函数只有一个速率。如果费率发生变化,例如在5000000个单位之后,您还必须考虑到这一点。
如果你有全部的费用,那么你可以过滤你的日期是20-30。你会得到结果的。在</p>
<p>这是计算的简短解释。我用C实现了这个计算,并将其作为NuGet包发布。源代码在github上-可能有帮助。它还包含一个示例控制台,可用于导出数据。在</p>
<ul>
<li>来源:<a href="https://github.com/codehollow/AzureBillingApi" rel="nofollow noreferrer">https://github.com/codehollow/AzureBillingApi</a></li>
<li>博客文章:<a href="https://codehollow.com/2017/02/using-the-azure-billing-api-to-calculate-the-costs/" rel="nofollow noreferrer">https://codehollow.com/2017/02/using-the-azure-billing-api-to-calculate-the-costs/</a></li>
</ul>