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

См. также раздел