天蓝色武器消耗:获取资源组的消耗

时间:2019-01-12 09:34:32

标签: javascript node.js azure azure-resource-manager

在我的Node.js项目中,我试图使用azure-arm-consumption package来获取资源组的当前消耗/计费。我的意思是,到目前为止,在这个资源组上花了多少钱。

在接口下,从AggregatedCost到UsageDetails,所有这些接口都包含方法,但是我只是设法找到读取特定资源组已消耗多少钱的方法。

我的代码:

const MsRest = require('ms-rest-azure');
const credentials = MsRest.loginWithServicePrincipalSecret(keys.appId, keys.pass, keys.tenantId);
const { ConsumptionManagementClient } = require('azure-arm-consumption');
const client = new ConsumptionManagementClient (credentials, subscriptionId);
const cost = client.forecasts.list(subscriptionId);

它检索我的订阅的消费除以日期。现在的问题是我不希望按日期划分,而是按资源组划分。 this API中是否有任何方法可以做到这一点?

2 个答案:

答案 0 :(得分:2)

根据文档,没有可用的方法/端点来按资源组获取数据。您必须下载所有数据并自行处理。

这是将使用REST下载数据(使用ConsumptionManagementClient几乎相同)并按资源组汇总使用量的脚本。以它为起点。

Add
  

参考:
  https://docs.microsoft.com/en-us/rest/api/consumption/usagedetails   https://docs.microsoft.com/en-us/javascript/api/azure-arm-consumption/usagedetails#list-object-
  https://docs.microsoft.com/en-us/javascript/api/azure-arm-consumption/usagedetail
  https://azure.microsoft.com/cs-cz/blog/azure-consumption-usage-details-api/

答案 1 :(得分:0)

如果您正在寻找Azure Powershell cmdlet: Get-AzureRmConsumptionUsageDetail 为您提供资源组的消耗,

然后ends up filtering the result for a resource group

因此,在您使用的情况下,请在致电ConsumptionManagementClient.UsageDetails.ListByBillingPeriod

时使用以下内容

https://docs.microsoft.com/en-us/javascript/api/azure-arm-consumption/filters?view=azure-node-latest#resourcegroups