Поделиться через


Примеры запросов OData API-интерфейса Cloud for Sustainability (предварительная версия)

Внимание!

Некоторые или все функции доступны в рамках предварительного выпуска. Содержимое и функциональность могут быть изменены.

Open Data Protocol (OData) — это протокол доступа к данным, основанный на базовых протоколах, таких как HTTP. Он использует общепринятые методологии, такие как REST для Интернета. Можно использовать различные библиотеки и инструменты для использования служб OData.

Чтобы помочь вам в создании собственных реализаций на основе API-интерфейса Microsoft Cloud for Sustainability, вы можете просмотреть некоторые из этих примеров часто используемых запросов.

Измените примеры запросов, чтобы они работали в ваших целевых средах:

  • {serviceRoot}: https://api.mcfs.microsoft.com/api/v1.0/instances/{instanceId}

  • {instanceId}: GUID среды Cloud for Sustainability, к которой вы хотите выполнить запрос, например 20aec369-f1c8-4814-a89d-4d449dd7e8a1.

  • {serviceRootM365}: {serviceRoot}/m365

  • {serviceRootAzure}: {serviceRoot}/enrollments/{enrollmentId}

  • {enrollmentId}: Идентификатор регистрации, также известный как идентификатор платежного аккаунта. Пример: 12345678.

  • {tenantId}: Microsoft 365 идентификатор арендатора.

Заметка

Некоторые запросы API-интерфейса будут содержать множество результатов и будут разбиты на несколько страниц. API-интерфейс возвращает не более 1000 результатов на страницу. Если доступно больше результатов, API-интерфейс возвращает свойство @odata.nextLink, содержащее URL-адрес следующей страницы результатов.

Сущность EnrollmentEmission (для выбросов Azure)

Представляет данные о выбросах для учетной записи выставления счетов, также называемой регистрацией.

Свойство Type Примечания
dateKey int32 Дата в формате ггггммдд; дд всегда равно 01.
enrollmentId string Также известен как идентификатор учетной записи для выставления счетов.
orgName string То же, что и имя TP или имя главного родительского элемента.
subscriptionId string Идентификатор подписки.
subscriptionName string Имя подписки.
azureServiceName string Имя службы Azure, например Служба приложений
subService string Например, служба хранилища Azure или вычисления Azure.
azureRegionName string Регион Azure, в котором развернута служба.
область string Область выбросов парниковых газов, например, область 1, область 2 или область 3.
scopeId int32 Идентификатор области.
totalEmissions double Общий объем выбросов для записи (т CO2-экв.).

Примеры запросов для сущности EnrollmentEmission (для выбросов Azure)

Тип запроса Пример
Выбросы по регистрации {serviceRootAzure}/выбросы
Выберите определенные поля {serviceRootAzure}/emissions?$select=enrollmentId,totalEmissions,scopeId
Включить количество {serviceRootAzure}/выбросы?$count=true
Ограничение количества результатов {serviceRootAzure}/выбросы?$top=100
Разбиение на страницы {serviceRootAzure}/выбросы?$skip=100&$top=50
Фильтр по области {serviceRootAzure}/выбросы?$filter=ScopeId экв 1
Фильтрация и агрегирование {serviceRootAzure}/emissions?$apply=filter(ScopeId eq 1)/aggregate($count как Count, totalEmissions со средним как Average, totalEmissions с sum как Sum)
Фильтрация и группировка {serviceRootAzure}/emissions?$apply=filter(totalEmissions > 0.05)/groupby((ScopeId),gregate($count as Count))`

Сущность Microsoft365Emission (для выбросов Microsoft 365)

Представляет выбросы центра обработки данных Microsoft 365, связанные со следующими приложениями:

  • Exchange Online
  • SharePoint
  • OneDrive
  • Microsoft Teams
  • Word
  • Excel
  • PowerPoint
  • Outlook
Свойство Type Примечания
dateKey int32 Дата в формате ггггммдд; дд всегда равно 01.
tenantId string ИД клиента.
tenantName string Название клиента.
officeRegionName string Регион, где находятся центры обработки данных Microsoft 365.
область string Область выбросов парниковых газов, например, область 1, область 2 или область 3.
totalEmissions double Общий объем выбросов для записи (т CO2-экв.).

Примеры запросов для сущности Microsoft365Emission (для выбросов Microsoft 365)

Тип запроса Пример
Выбросы для клиента {serviceRootM365}/выбросы арендатора
Выберите определенные поля {serviceRootM365}/выбросы?$select=tenantId,totalEmissions,scope
Включить количество {serviceRootM365}/tenantemissions?$count=true
Ограничение количества результатов {serviceRootM365}/выбросы арендатора?$top=100
Разбиение на страницы {serviceRootM365}/выбросы арендатора?$skip=100&$top=50
Фильтр по области {serviceRootM365}/tenantemissions?$filter=Область действия экв 'FILLMEIN'
Фильтрация и агрегирование {serviceRootserviceRootM365Azure}/tenantemissions?$apply=filter(scope eq 'FILLMEIN')/aggregate($count как Count, totalEmissions со средним как Average, totalEmissions с sum как Sum)
Фильтрация и группировка {serviceRootM365}/tenantemissions?$apply=filter(totalEmissions > 0.05)/groupby((Scope),gregate($count as Count))`

Сущность EnrollmentUsage (для выбросов Azure)

Представляет расчетный коэффициент использования облачных ресурсов Microsoft.

Свойство Type Примечания
dateKey int32 Дата в формате ггггммдд; дд всегда равно 01.
enrollmentId string Также известен как идентификатор учетной записи для выставления счетов.
orgName string То же, что и имя TP или имя главного родительского элемента.
subscriptionId string Идентификатор подписки.
subscriptionName string Имя подписки.
subService string Например, служба хранилища Azure или вычисления Azure.
azureRegionName string Регион Azure, в котором развернута служба.
использование double Общее использование записи. Не имеет единицы измерения, поскольку представляет собой нормализованное использование службы в указанном регионе.

Для получения дополнительной информации о методологии расчета Microsoft перейдите в раздел Методологии расчета API-интерфейса Microsoft Cloud for Sustainability.|

Примеры запросов для сущности EnrollmentUsage

Тип запроса Пример Заметка
Все данные об использовании {serviceRootAzure}/использование
Общий объем использования по месяцам на подписку {serviceRootAzure}/usage?$apply=groupby((SubscriptionName,DateKey),aggregate(usage с суммой как TotalUsage))&$orderby=SubscriptionName,DateKey

Сущность EnrollmentProjection (для выбросов Azure)

Представляет прогнозируемые выбросы на оставшуюся часть календарного года, основанные на скользящем среднем за предыдущие пять месяцев. Предназначен для визуализаций в расчете на год.

Свойство Type Примечания
dateKey int32 Дата в формате ггггммдд; дд всегда равно 01.
enrollmentId string Также известен как идентификатор учетной записи для выставления счетов.
actualEmissions double Включено только для прошлых дат (т CO2-экв.).
projectedEmissions double На основе скользящего среднего значения за предыдущие пять месяцев или менее на основе фактических данных, доступных за текущий год (т CO2-экв.).
actualUsage double Включается только для прошлых дат.
projectedUsage double На основе скользящего среднего значения за предыдущие пять месяцев или менее на основе фактических данных, доступных за текущий год.

Примеры запросов для сущности EnrollmentProjection (для выбросов Azure)

Тип запроса Пример Заметка
Прогнозы на период после 07-2022 {serviceRootAzure}/projections?$filter=dateKey gt 20220701
Все прогнозы на год {serviceRootAzure}/проекции

Внимание

API-интерфейс Microsoft Cloud for Sustainability в настоящее время находится в предварительной версии и может быть изменен. Ваши исторические данные о выбросах также могут обновляться по мере того, как Microsoft повышает точность и полноту данных.

Вопросы и ответы

Как Microsoft рассчитывает выбросы и использование?

Для получения информации о методологии расчета Microsoft перейдите в раздел Методологии расчета API-интерфейса Microsoft Cloud for Sustainability.

Что такое Rownum?

API-интерфейс использует rownum для согласованного разбиения на страницы. Значение может быть изменено, поэтому ваше приложение не должно зависеть от него.

Что такое идентификатор регистрации?

Идентификатор регистрации относится к идентификатору учетной записи для выставления счетов. Найдите свой идентификатор регистрации и идентификатор платежного счета. на портале Azure.

Как получить токен авторизации для моей целевой среды?

Для API требуется токен авторизации OAuth. Мы рекомендуем использовать Библиотеку проверки подлинности Microsoft (MSAL).

API-интерфейс возвращает свойство @odata.nextLink, если результатов больше, чем возвращено в текущем ответе. Ваше приложение должно выполнить еще один запрос GET по этой ссылке nextLink, чтобы получить следующую страницу результатов. Последняя страница не содержит nextLink. Изучите этот пример кода для получения более подробной информации о разбиении на страницы с помощью клиентской библиотеки OData.