1

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

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

4

3 回答 3

6

请注意此文档:Azure 消费 API 概述,这里显示您可以使用Usage Details 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}'作为Billing Account范围等。有关详细信息,请参阅此文档.

使用$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 表示您使用的具体资源名称。

于 2019-05-22T04:29:26.157 回答
2

Azure计费 API可用于将使用情况和资源数据提取到首选数据分析工具中。

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

推荐步骤

  1. 使用Azure 资源使用 API获取可用 Azure 资源的列表以及每个资源的估计定价信息。
  2. 使用Azure Resource RateCard API获取估计的 Azure 消耗数据。

注意:支持现收现付、MSDN、货币承诺和货币信用优惠(不支持EA 和CSP )

  1. Azure发票下载 API允许您在完成选择后访问 PDF 格式的 Azure 发票。它可用于将使用情况和资源数据提取到首选的数据分析工具中。

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

  1. EA 客户的报告 API - 使用详情按注册提供消耗数量和估计费用的每日细分。结果还包括有关实例、计量器和部门的信息。API可以通过计费周期或指定的开始和结束日期查询

推荐文件

  1. Azure 计费 REST API

  2. Azure 计费 API 概述

  3. Azure 资源管理器概述

  4. REST API 浏览器

如果您仍有任何疑问,请随时分享。感谢和快乐的编码!

于 2019-05-22T02:20:50.417 回答
1

您要查看的 APIConsumption 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
于 2019-05-22T02:18:46.840 回答