0

为了获取天蓝色订阅计费数据,我正在传递参数,它不适用

const axios = require('axios');
  let usage = [];
 function getUsage(subscriptionId, accessToken) {
  const url = `https://management.azure.com/subscriptions/${subscriptionId}/providers/Microsoft.Consumption/usageDetails?api-version=2019-01-01`

  const options = {
    headers: {
      Authorization: `Bearer ${accessToken}`
    }
   }

// I am trying to pass data for filtering
   const params  ={
    type: "Usage",
    timeframe: "MonthToDate",
    dataset: {
      granularity: "None",
      aggregation: {
        totalCost: {
          name: "PreTaxCost",
          function: "Sum"
        }
      },
      grouping: [
        {
          type: "Dimension",
          name: "MeterCategory"
        },
         {
          type: "Dimension",
          name: "ResourceLocation"
        },
         {
          type: "Dimension",
          name: "ResourceGroup"
        }    ]
    }
  }
  axios.get(url, options, params).then(response => {
    console.log('response.data------', response.data);
  }).catch(error => {
    console.log(error);
  });
}
//calling API here
await getUsage(
  "subscriptionId",
  "access-token"
);
4

1 回答 1

0

请更改参数的格式

params ={ type: "Usage", timeframe: "MonthToDate", dataset: { granularity: "None", aggregation: { totalCost: { name: "PreTaxCost", function: "Sum" } }, grouping: [ { type: "Dimension", name: "MeterCategory" }, { type: "Dimension", name: "ResourceLocation" }, { type: "Dimension", name: "ResourceGroup" } ] } }

params ={params:{ type: "Usage", timeframe: "MonthToDate", dataset: { granularity: "None", aggregation: { totalCost: { name: "PreTaxCost", function: "Sum" } }, grouping: [ { type: "Dimension", name: "MeterCategory" }, { type: "Dimension", name: "ResourceLocation" }, { type: "Dimension", name: "ResourceGroup" } ] } }}

只需在开头添加一个“{params:”并在末尾添加一个“}”。

我认为“参数”应该是它的一个参数。请试一试。

于 2019-08-26T07:58:35.267 回答