我正在构建Azure Chargeback解决方案,为此,我将从Azure Billing REST API中提取Azure使用数据,以获取多个订阅和不同日期。我需要根据客户的要求将其存储到自定义MS SQL数据库中。我从Azure获得了各种使用记录。
我确信Microsoft会将此数据存储在某个数据库中。我找不到唯一ID来识别Billing API返回的许多记录中的使用记录。也许我在这里遗漏了一些东西。
我将不胜感激任何帮助或任何指示。
答案 0 :(得分:0)
当您调用Usage API时,将ShowDetails参数设置为true:&showDetails=true
这将使用包含名称的资源的唯一URI填充返回的JSON中的实例数据,例如:
网站:
"instanceData": "{\"Microsoft.Resources\":{\"resourceUri\":\"/subscriptions/xxx-xxxx/resourceGroups/mygoup/providers/Microsoft.Web/sites/WebsiteName\",\"...
虚拟机:
"instanceData": "{\"Microsoft.Resources\":{\"resourceUri\":\"/subscriptions/xxx-xxxx/resourceGroups/TESTINGBillGroup/providers/Microsoft.Compute/virtualMachines/TestingBillVM\",\...
如果ShowDetails为false,所有资源将根据资源类型在服务器端聚合,您的所有网站都将显示为一个条目。
据我所知,资源URI,日期范围和meterid将形成一个唯一的密钥。
注意:如果您使用的是旧版API,则您的虚拟机将在托管它们的云服务下进行汇总。