Руководство по заполнению набора данных исторических затрат с помощью API экспорта
Крупные организации часто должны анализировать затраты прошлых лет, произведенные год или более назад. Создание набора данных может потребоваться для целевых разовых запросов или для настройки панелей мониторинга отчетов для визуализации динамики затрат с течением времени. В любом случае нужен способ надежного получения данных, чтобы их можно было загрузить в хранилище данных, которое можно запросить. После заполнения набора данных об исторических затратах хранилище данных можно обновлять по мере возникновения новых затрат, чтобы отчетность всегда была актуальной. Исторические затраты редко меняются и, если да, вы получаете уведомления. Поэтому рекомендуется обновлять исторические затраты не более одного раза в месяц.
В этом руководстве описано следующее:
- Получение токена носителя для субъекта-службы
- Форматирование запроса
- Выполнение запросов блоками по одному месяцу
Необходимые компоненты
Для успешного вызова API экспорта требуются соответствующие разрешения. Рекомендуется использовать субъект-службу в сценариях автоматизации.
- Дополнительные сведения см. в разделе Назначение разрешений для API управления затратами.
- Дополнительные сведения о конкретных разрешениях, необходимых для API экспорта, см. в разделе Общие сведения об областях и работа с ними.
Кроме того, вам потребуется способ напрямую запрашивать API. Ниже приведены некоторые популярные способы запроса API:
- Visual Studio
- Insomnia
- Бруно
- Вызов PowerShell-RestMethod
- Curl
Получение токена носителя для субъекта-службы
Сведения о получении токена носителя с помощью субъекта-службы см. в разделе Получение маркера доступа.
Форматирование запроса
Ознакомьтесь со следующим примером запроса и создайте собственный разовый экспорт данных. В следующем примере запроса создается набор данных фактических затрат за месяц в указанной учетной записи хранения Azure. Рекомендуется запрашивать не более одного месяца данных на отчет. Если за каждый месяц накапливается слишком большой набор данных, лучше всего настроить partitionData = true
, чтобы однократный экспорт разбивал данные на несколько файлов. Дополнительные сведения см. в разделе Секционирование файлов для больших наборов данных.
PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{enrollmentId}/providers/Microsoft.CostManagement/exports/{ExportName}?api-version=2021-10-01
Заголовки запроса
Authorization: <YOUR BEARER TOKEN>
Accept: /*/
Content-Type: application/json
Текст запроса
{
"properties": {
"definition": {
"dataset": {
"granularity": "Daily",
"grouping": []
},
"timePeriod": {
"from": "2021-09-01T00:00:00.000Z",
"to": "2021-09-30T00:00:00.000Z"
},
"timeframe": "Custom",
"type": "ActualCost"
},
"deliveryInfo": {
"destination": {
"container": "{containerName}",
"rootFolderPath": "{folderName}",
"resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}"
}
},
"format": "Csv",
"partitionData": false
}
}
Создание экспортов блоками за один месяц
Мы рекомендуем создавать отдельные экспорты данных за каждый месяц. Если вы хотите заполнить годовой исторический набор данных, необходимо выполнить 12 запросов API экспорта — по одному за каждый месяц. После заполнения исторического набора данных можно создать запланированный экспорт, чтобы продолжить заполнение данных о затратах в хранилище Azure по мере начисления расходов с течением времени.
Выполнение каждого экспорта
Теперь, когда вы создали экспорт для каждого месяца, необходимо вручную запустить каждый из них, вызвав API выполнения . Ниже приведен пример запроса к API.
POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run?api-version=2021-10-01
Следующие шаги
Из этого руководства вы узнали, как:
- Получение токена носителя для субъекта-службы
- Форматирование запроса
- Выполнение запросов блоками по одному месяцу
Дополнительные сведения о затратах см. в разделе Прием данных о затратах.
Дополнительные сведения о том, какие данные доступны в наборе данных о затратах, см. в разделе Общие сведения о полях данных о затратах.