Cloud for Sustainability API (プレビュー) OData クエリの例
重要
この機能の一部またはすべては、プレビュー リリースの一部として利用できます。 コンテンツおよび機能は変更される場合があります。
Open Data Protocol (OData) は、HTTP などのコア プロトコルに基づいて構築されたデータ アクセス プロトコルです。 Web 用の REST のような一般的に受け入れられている方法論を使用します。 さまざまなライブラリとツールを使用して、OData サービスを利用できます。
Microsoft Cloud for SustainabilityAPI に基づいて独自の実装を構築するには、よくリクエストされるこれらのサンプル クエリの一部を確認できます。
クエリ サンプルを変更して、ターゲット環境で機能するようにします。
{serviceRoot}:
https://api.mcfs.microsoft.com/api/v1.0/instances/{instanceId}
{instanceId}: クエリする Cloud for Sustainability 環境の GUID (20aec369-f1c8-4814-a89d-4d449dd7e8a1 など)。
{serviceRootM365}:
{serviceRoot}/m365
{serviceRootAzure}:
{serviceRoot}/enrollments/{enrollmentId}
{enrollmentId}: 登録 ID (課金アカウント ID とも呼ばれる)。 例: 12345678。
{tenantId}: Microsoft 365 テナント ID。
注意
一部の API クエリには多くの結果が含まれ、複数のページに分割されます。 API は、ページごとに最大 1000 件の結果数を返します。 さらに結果がある場合、API は結果の次のページへの URL を含む @odata.nextLink プロパティを返します。
EnrollmentEmission エンティティ (Azure 排出量の場合)
請求先アカウント (登録とも呼ばれる) の排出データを表します。
Property | タイプ | ノート |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
enrollmentId | string | 請求先アカウント ID とも呼ばれます。 |
orgName | string | |
subscriptionId | string | |
subscriptionName | string | |
azureServiceName | string | |
subService | string | たとえば、Azure Storage や Azure Compute です。 |
azureRegionName | string | |
scope | string | |
scopeId | int32 | |
totalEmissions | 倍精度浮動小数点 |
EnrollmentEmission エンティティのサンプル クエリ (Azure 排出量の場合)
クエリの種類 | 例 |
---|---|
登録別排出 | {serviceRootAzure}/emissions |
特定のフィールドを選択 | {serviceRootAzure}/emissions?$select=enrollmentId,totalEmissions,scopeId |
カウントを含める | {serviceRootAzure}/emissions?$count=true |
結果数を制限する | {serviceRootAzure}/emissions?$top=100 |
ページ分割 | {serviceRootAzure}/emissions?$skip=100&$top=50 |
スコープでフィルター | {serviceRootAzure}/emissions?$filter=ScopeId eq 1 |
フィルタ―と集計 | {serviceRootAzure}/emissions?$apply=filter(ScopeId eq 1)/aggregate($count as Count, totalEmissions with average as Average, totalEmissions with sum as Sum) |
フィルターおよびグループ | {serviceRootAzure}/emissions?$apply=filter(totalEmissions gt 0.05)/groupby((ScopeId), aggregate($count as Count))` |
Microsoft365Emission エンティティ (M365 排出量の場合)
次のアプリケーションに関連する Microsoft 365 データセンターの排出量を表します:
- Exchange Online
- SharePoint
- OneDrive
- Microsoft Teams
- Word
- Excel
- PowerPoint
- Outlook
Property | タイプ | ノート |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
tenantId | string | |
tenantName | string | |
officeRegionName | string | Microsoft 365 データ センター リージョン |
scope | string | Scope1 、Scope2 、Scope3 の 1 つ |
totalEmissions | 倍精度浮動小数点 |
Microsoft365Emission エンティティのサンプル クエリ (M365 排出量の場合)
クエリの種類 | 例 |
---|---|
テナントの排出量 | {serviceRootM365}/tenantemissions |
特定のフィールドを選択 | {serviceRootM365}/emissions?$select=tenantId,totalEmissions,scope |
カウントを含める | {serviceRootM365}/tenantemissions?$count=true |
結果数を制限する | {serviceRootM365}/tenantemissions?$top=100 |
ページ分割 | {serviceRootM365}/tenantemissions?$skip=100&$top=50 |
スコープでフィルター | {serviceRootM365}/tenantemissions?$filter=Scope eq 'FILLMEIN' |
フィルタ―と集計 | {serviceRootserviceRootM365Azure}/tenantemissions?$apply=filter(scope eq 'FILLMEIN')/aggregate($count as Count, totalEmissions with average as Average, totalEmissions with sum as Sum) |
フィルターおよびグループ | {serviceRootM365}/tenantemissions?$apply=filter(totalEmissions gt 0.05)/groupby((Scope), aggregate($count as Count))` |
EnrollmentUsage エンティティ (Azure 排出量の場合)
Microsoft Cloud リソースの計算された使用係数を表します。
Property | タイプ | ノート |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
enrollmentId | string | 請求先アカウント ID とも呼ばれます。 |
orgName | string | |
subscriptionId | string | |
subscriptionName | string | |
subService | string | たとえば、Azure Storage や Azure Compute です。 |
azureRegionName | string | |
使用状況 | 倍精度浮動小数点 | Microsoft の計算方法の詳細については、 Microsoft Cloud for Sustainability API 計算方法をご覧ください。 |
EnrollmentUsage エンティティのサンプル クエリ
クエリの種類 | 例 | Note |
---|---|---|
すべての使用状況データ | {serviceRootAzure}/usage | |
サブスクリプションあたりの月ごとの合計使用量 | {serviceRootAzure}/usage?$apply=groupby((SubscriptionName,DateKey),aggregate(usage with sum as TotalUsage))&$orderby=SubscriptionName,DateKey |
EnrollmentProjection エンティティ (Azure 排出量の場合)
過去 5 か月の移動平均に基づいた、暦年の残りの予測排出を表します。 年換算されたビジュアル化を対象としています。
Property | タイプ | ノート |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
enrollmentId | string | 請求先アカウント ID とも呼ばれます。 |
actualEmissions | 倍精度浮動小数点 | 過去の日付にのみ含まれます。 |
projectedEmissions | 倍精度浮動小数点 | 過去 5 か月の移動平均に基づいています。 |
actualUsage | 倍精度浮動小数点 | 過去の日付にのみ含まれます。 |
projectedUsage | 倍精度浮動小数点 | 過去 5 か月の移動平均に基づいています。 |
EnrollmentProjection エンティティのサンプル クエリ (Azure 排出量の場合)
クエリの種類 | 例 | 注意 |
---|---|---|
2022 年 7 月以降のプロジェクション | {serviceRootAzure}/projections?$filter=dateKey gt 20220701 | |
年間のすべてのプロジェクション | {serviceRootAzure}/projections |
重要
Microsoft Cloud for Sustainability API は現在プレビュー段階であり、変更される可能性があります。 Microsoft がデータの正確性と完全性を改善するにつれて、過去の排出の数値も更新される場合があります。
よくあるご質問
Microsoft は排出と使用量をどのように計算しますか?
Microsoft の計算方法の情報については、 Microsoft Cloud for Sustainability API 計算方法をご覧ください。
散布図とは何ですか?
API は一貫したページネーションのために rownum を使用します。 この値は変更される可能性があるため、アプリケーションがそれに依存するべきではありません。
登録 ID とは何ですか?
登録 ID は請求先アカウント ID を指します。 Azure portal で登録 ID と請求先アカウント ID を確認します。
ターゲット環境の認証トークンを取得するにはどうすればよいですか?
API には OAuth 認証トークンが必要です。 Microsoft 認証ライブラリ (MSAL) を使用することをお勧めします。
ページネーションのための nextLink の使用方法について詳細を提供してもらえますか?
現在の応答よりも多くの結果がある場合、API は @odata.nextLink
プロパティを返します。 結果の次のページを取得するには、アプリでこの nextLink に対して別の GET を実行する必要があります。 最後のページに nextLink は含まれません。
OData クライアント ライブラリを使用したページネーションの詳細については、この コード サンプル をご覧ください。
参照
Cloud for Sustainability API の概要Microsoft Cloud for Sustainability API 計算方法Microsoft Cloud for Sustainability API