Azure:通过REST API获得单一资源的当前余额

时间:2019-05-21 22:28:43

标签: azure azure-devops-rest-api azure-billing-api

我希望通过Azure的REST API获得当前期间在MS Azure上给定资源(而不是整个订阅或资源组)所花费的实时当前金额(例如:到目前为止,我们已花费X $这个月在这个资源上)。我已经研究了Billing API和一般的REST API文档(以及它们的node.js SDK),但是找不到任何能做到这一点的东西。

有人做过类似的事情吗?任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

请注意此文档:Azure consumption API overview,这里显示您可以将使用细节API 与过滤器结合使用来获取所需的内容:

  
      
  • 过滤-使用以下过滤器将您的API结果集整理为较小的使用情况详细记录集:      
        
    • 使用结束/使用开始
    •   
    • 资源组
    •   
    • 资源名称
    •   
  •   

以下是API的格式:

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?$expand={$expand}&$filter={$filter}&$skiptoken={$skiptoken}&$top={$top}&$apply={$apply}&api-version=2019-01-01

对于{scope},除了可以将'/ subscriptions / {subscriptionId} /'用于订阅范围外,还可以将'/providers/Microsoft.Billing/billingAccounts/{billingAccountId}'用于计费帐户范围等。 。有关更多详细信息,请参考此doc

使用$filter={$filter}可以实现您想要的(访问特定资源),这里提供了我的API供您参考:

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/usageDetails?$expand=meterDetails,additionalProperties&$filter=properties/usageEnd ge '2019-01-1' AND properties/usageEnd le '2019-05-22' AND properties/instanceName eq '{instanceName}'&$top=30&api-version=2019-01-01
  

eq等于,ge等于或大于,le等于或小于   等于,并且instanceNmae表示您要使用的特定资源名称。

答案 1 :(得分:1)

Azure Billing APIs可用于将使用情况和资源数据提取到您首选的数据分析工具中。

Azure Resource Usage APIAzure Resource RateCard API可以帮助准确预测和管理成本。这些API被实现为资源提供者,并且是Azure资源管理器公开的API系列的一部分。

推荐步骤

  1. 使用Azure Resource Usage API获取可用列表 Azure资源和每个资源的估计价格信息。
  2. 使用Azure Resource RateCard API获取估计的Azure 消费数据。
  

注意:支持即用即付,MSDN,货币承诺和货币信贷优惠(不支持EA和CSP

  1. Azure Invoice Download API允许您访问Azure opt-in has been complete后以PDF格式开具发票。它可以 用于将使用情况和资源数据纳入首选数据分析 工具。
  

注意:此功能在预览的第一版中,可能会向后不兼容。目前还不是   适用于某些订阅优惠(不支持EA,CSP,AIO)   和Azure德国。

  1. Reporting APIs for EA customers-每天的使用情况详细信息 消耗量和估计费用的细目分类 注册。结果还包括有关实例的信息, 仪表和部门。可以按结算期或 在指定的开始日期和结束日期之前

推荐文档

  1. Azure Billing REST API

  2. Azure Billing API overview

  3. Azure Resource Manager overview

  4. REST API Browser

如果您还有任何疑问,请随时分享。谢谢,祝您编程愉快!

答案 2 :(得分:0)

您要查看的API是Consumption API,而您要使用的操作是Usage Details - List

请注意:

  • 对于{scope}参数,请指定/subscriptions/{subscriptionId}/
  • 要获取特定资源的消耗量,您需要在$filter中指定该资源的路径。

例如,如果您想要某个特定存储帐户在2019年4月的消耗量,则过滤条件如下所示:

$filter=properties/instanceId eq '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}' and properties/usageStart ge '2019-04-01T00:00:00.0000000Z' and properties/usageEnd lt '2019-05-01T00:00:00.0000000Z'&$expand=meterDetails,additionalProperties