API-интерфейсы отчетов для корпоративных клиентов: сведения об использовании
Примечание
1 мая 2024 г. api-интерфейсы azure Enterprise Reporting API будут прекращены. Все оставшиеся API отчетов enterprise перестанут отвечать на запросы. До этого клиентам необходимо перейти на использование API управления затратами Майкрософт. Дополнительные сведения см. в статье Переход с интерфейсов API для корпоративной отчетности на API Управления затратами Майкрософт.
Этот API поддерживает только записи об использовании с до 400 символов тегов для данного ресурса. Если в записях превышено максимальное количество тегов, в API может случиться сбой. При возникновении этой проблемы выполните миграцию в Операции экспорта или API операций экспорта.
API сведений об использовании предоставляет сводку об израсходованных объемах и предполагаемых расходах для каждой регистрации с разбивкой по дням. Результаты также содержат сведения об экземплярах, метриках и отделах. Запрашивать данные в API можно по расчетному периоду или по дате начала и окончания.
Общие свойства заголовка, которые необходимо добавить, перечислены в статье с обзором API-интерфейсов отчетов для корпоративных клиентов. Настраиваемые диапазоны времени можно указать с помощью параметров даты начала и окончания, которые вводятся в формате гггг-ММ-дд.
Формат CSV
Приведенный ниже API предоставляет данные в формате CSV.
Синхронный вызов (без опроса)
Мы возвращаем данные в формате CSV в ответ на вызов REST API. Производительность API зависит от объема данных об использовании, возвращаемых вызовом, и может занять не более 60 минут. Несмотря на то, что API поддерживает пользовательские диапазоны дат, рекомендуется ограничить их в зависимости от объема данных об использовании за этот период. Мы разрешаем поддержку не более одного месяца.
Метод | URI запроса на скачивание |
---|---|
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?billingPeriod={billingPeriod} |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?startTime=2017-01-01& endTime=2017-01-10 |
Асинхронный вызов (на основе опроса)
Вызов — это двухэтапный процесс, который требует, чтобы сначала отправить запрос на определенный диапазон времени, а затем выполнить опрос, чтобы получить URL-адрес на основе общего ключа доступа для расположения BLOB-объекта Azure с данными CSV. Максимальное поддерживаемого времени здесь составляет 36 месяцев. Этот API рекомендуется для больших наборов данных.
Метод | URI отправки запроса |
---|---|
POST | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?billingPeriod={billingPeriod} |
POST | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?startTime=2017-04-01& endTime=2017-04-10 |
Ответ на асинхронный вызов отправки (опрос)
{
"id": "string",
"enrollmentNumber":"string",
"requestedOn":"2017-08-29T06:56:29.1290704Z",
"status":1,
"blobPath":"",
"reportUrl":"string",
"startDate":"2017-06-01T00:00:00",
"endDate":"2017-06-30T00:00:00"
}
Определения свойств ответа на асинхронный вызов
Имя свойства | Тип | Описание |
---|---|---|
идентификатор | строка | Уникальный идентификатор запроса. |
enrollmentNumber | строка | Номер регистрации, на который был сделан запрос. |
requestedOn | строка | Дата и время выполнения запроса. |
status | INT | Указывает состояние запроса. Queued = 1, InProgress = 2, Completed = 3, Failed = 4, NoDataFound = 5, ReadyToDownload=6, TimedOut = 7. |
blobPath | строка | URL-адрес общего ключа доступа к большому двоичному объекту CSV. |
reportUrl | строка | URL-адрес, который можно использовать для опроса состояния запроса отправки. |
startDate | строка | Соответствует началу диапазона времени, используемого при выполнении вызова отправки. |
endDate | строка | Соответствует концу диапазона времени, используемого при выполнении вызова отправки. |
ReportUrl — это URL-адрес, который можно использовать для дальнейших вызовов опроса (операция GET). Когда поле состояния в ответе на запрос опроса возвращается как 3, запрос завершается. Поле blobPath в ответе заполнено URL-адресом, указывающим на данные CSV. Большой двоичный объект доступен в течение 1 дня с даты и времени в поле запросаOn ответа. Состояние 4, 5 и 7 — это состояние сбоя, в котором вызов API достиг условия ошибки. Для всех остальных состояний вызов опроса должен повторяться.
Формат JSON
Приведенный ниже API предоставляет данные в формате JSON. Если расчетный период не указан, то возвращаются данные за текущий расчетный период. Максимальный поддерживаемый диапазон времени — 36 месяцев.
Метод | Универсальный код ресурса (URI) запроса |
---|---|
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/usagedetails |
GET | https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01& endTime=2017-01-10 |
Примечание
Чтобы использовать предыдущую версию API, замените версию 3 на версию 2 в url-адресах выше. Некоторые поля недоступны при использовании версии 2.
Ответ
Из-за потенциально большого объема данных результирующий набор выполняется на страницы. Свойство nextLink (если имеется) указывает ссылку на следующую страницу данных. Если ссылка пустая, то это означает, что текущая страница является последней.
{
"id": "string",
"data": [
{
"serviceName":"Storage",
"serviceTier":"Premium Page Blobs",
"location":"US West",
"chargesBilledSeparately":false,
"partNumber":"ABC-12345",
"resourceGuid":"00000000-0000-0000-0000-000000000000",
"offerId":"MS-AZR-0003P",
"cost":1,
"accountId":123456,
"productId":1234,
"resourceLocationId":12,
"consumedServiceId":1,
"departmentId":3456,
"accountOwnerEmail":"account@live.com",
"accountName":"Account Name",
"serviceAdministratorId":"123",
"subscriptionId":0000000,
"subscriptionGuid":"00000000-0000-0000-0000-000000000000",
"subscriptionName":"Subscription Name",
"date":"2018-08-01T00:00:00",
"product":"Locally Redundant Storage Premium Storage - Page Blob/P10 - US West",
"meterId":"00000000-0000-0000-0000-000000000000",
"meterCategory":"Storage",
"meterSubCategory":"Locally Redundant",
"meterRegion":"California",
"meterName":"Premium Storage - Page Blob/P10 (Units)",
"consumedQuantity"1,
"resourceRate":1,
"resourceLocation":"uswest",
"consumedService":"Microsoft.Compute",
"instanceId":"Id",
"serviceInfo1":"string",
"serviceInfo2":"string",
"additionalInfo":"string",
"tags":"string",
"storeServiceIdentifier":"string",
"departmentName":"Department Name",
"costCenter":"1234",
"unitOfMeasure":"Units",
"resourceGroup":"ResourceGroup"
}
],
"nextLink": "string"
}
Определения полей сведений об использовании
Имя свойства | Тип | Описание |
---|---|---|
идентификатор | строка | Уникальный идентификатор для вызова API |
. | Массив JSON | Массив сведений о ежедневном использовании для каждого экземпляра и каждого индикатора. |
nextLink | строка | Если данные разбиты на несколько страниц, ссылка nextLink указывает на URL-адрес следующей страницы данных. |
accountId | INT | Устаревшее поле. Сохранен для обратной совместимости. |
productId | INT | Устаревшее поле. Сохранен для обратной совместимости. |
resourceLocationId | INT | Устаревшее поле. Сохранен для обратной совместимости. |
consumedServiceId | INT | Устаревшее поле. Сохранен для обратной совместимости. |
departmentId | INT | Устаревшее поле. Сохранен для обратной совместимости. |
accountOwnerEmail | строка | Электронная почта владельца учетной записи. |
accountName | строка | Определяемое клиентом имя для учетной записи. |
serviceAdministratorId | строка | Адрес электронной почты администратора службы. |
subscriptionId | INT | Устаревшее поле. Сохранен для обратной совместимости. |
subscriptionGuid | строка | Глобальный уникальный идентификатор подписки. |
subscriptionName | строка | Имя подписки. |
Дата | строка | Дата потребления. |
product | строка | Дополнительные сведения на индикаторе. |
meterId | строка | Идентификатор индикатора, от которого получены данные об использовании. |
meterCategory | строка | Используемая служба платформы Azure. |
meterSubCategory | строка | Определяет тип службы Azure и может влиять на тариф. |
meterRegion | строка | В этом столбце указывается расположение центра обработки данных для определенных служб. От этого расположения может зависеть стоимость некоторых услуг. |
meterName | строка | Имя индикатора. |
consumedQuantity | double | Объем использованных ресурсов по этому индикатору. |
resourceRate | double | Тариф, применяемый к оплачиваемым единицам. |
Платный номер | double | Стоимость использованных ресурсов по этому индикатору. |
resourceLocation | строка | Центр обработки данных, в котором работает индикатор. |
consumedService | строка | Используемая служба платформы Azure. |
instanceId | строка | Содержит имя ресурса либо полный идентификатор ресурса. Дополнительные сведения см. в статье Api Resource Manager Azure. |
serviceInfo1 | строка | Метаданные внутренней службы Azure. |
serviceInfo2 | строка | Например, тип образа для виртуальной машины и имя поставщика услуг Интернета для ExpressRoute. |
additionalInfo | строка | Метаданные определенных служб. Например, тип образа для виртуальной машины. |
tags | строка | Добавляемые клиентом теги. Дополнительные сведения см. в статье Использование тегов для организации ресурсов в Azure. |
storeServiceIdentifier | строка | Данный столбец не используется. Сохранен для обратной совместимости. |
departmentName | строка | Наименование подразделения. |
costCenter | строка | Место возникновения затрат по этому индикатору. |
unitOfMeasure | строка | Указывает единицу тарификации службы. Например: гигабайты, часы, десятки тысяч секунд. |
resourceGroup | строка | Группа ресурсов, в которой выполняется развернутое средство измерения. Дополнительные сведения см. в обзоре Azure Resource Manager. |
chargesBilledSeparately | строка | Счета выставляются за пределами денежного обязательства. |
location | строка | Расположение, в котором была развернута служба. |
offerId | строка | OfferId для службы. |
partNumber | строка | Номер SKU для службы. |
resourceGuid | строка | Идентификатор индикатора, от которого получены данные об использовании. |
serviceTier | строка | Уровень служб. |
serviceName | строка | Имя службы. |
Ограничение частоты
Чтобы обеспечить согласованное взаимодействие с нашими клиентами, все API-интерфейсы использования ограничены по тарифам на уровне регистрации. Когда вы достигнете ограничения, вы получите код состояния HTTP 429 Слишком много запросов. Текущая пропускная способность с интервалом в 15 минут приведена ниже.
API | Ограничение скорости |
---|---|
NextPage | 1000 |
Скачать | 50 |
Опрос | 180 |
Отправить | 20 |