Cloud for Sustainability API (プレビュー) OData クエリの例
重要
この機能の一部またはすべては、プレビュー リリースの一部として利用できます。 コンテンツおよび機能は変更される場合があります。
Open Data Protocol (OData) は、HTTP などのコア プロトコルに基づいて構築されたデータ アクセス プロトコルです。 Web 用の REST のような一般的に受け入れられている方法論を使用します。 さまざまなライブラリとツールを使用して、OData サービスを利用できます。
Microsoft Cloud for Sustainability API に基づいて独自の実装を構築するには、よくリクエストされるこれらのサンプル クエリの一部を確認できます。
クエリ サンプルを変更して、ターゲット環境で機能するようにします。
{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 排出量の場合)
請求先アカウント (登録とも呼ばれる) の排出データを表します。
プロパティ | タイプ | ノート/メモ |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
enrollmentId | 文字列 | 請求先アカウント ID とも呼ばれます。 |
orgName | 文字列 | TP Name または Top Parent Name と同じです。 |
subscriptionId | 文字列 | サブスクリプションの ID です。 |
subscriptionName | 文字列 | サブスクリプションの名前です。 |
azureServiceName | string | Azure サービスの名前 (例:App Service) |
subService | string | たとえば、Azure Storage や Azure Compute です。 |
azureRegionName | 文字列 | サービスが展開される Azure リージョンです。 |
スコープ | 文字列 | 温室効果ガスの範囲 (スコープ 1、スコープ 2、スコープ 3など)。 |
scopeId | int32 | スコープの ID です。 |
totalEmissions | 倍精度浮動小数点 | 記録の総排出量 (mtCO2e) です。 |
EnrollmentEmission エンティティのサンプル クエリ (Azure 排出量の場合)
クエリの種類 | 例 |
---|---|
登録別排出 | {serviceRootAzure}/排出 |
特定のフィールドを選択 | {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 エンティティ (Microsoft 365 排出量の場合)
次のアプリケーションに関連する Microsoft 365 データセンターの排出量を表します:
- Exchange Online
- SharePoint
- OneDrive
- Microsoft Teams
- Word
- Excel
- PowerPoint
- Outlook
プロパティ | タイプ | ノート/メモ |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
tenantId | 文字列 | テナントの ID です。 |
tenantName | 文字列 | テナントの名前です。 |
officeRegionName | 文字列 | Microsoft 365 データ センターの地域。 |
スコープ | 文字列 | 温室効果ガスの範囲 (スコープ 1、スコープ 2、スコープ 3など)。 |
totalEmissions | 倍精度浮動小数点 | 記録の総排出量 (mtCO2e) です。 |
Microsoft365Emission エンティティのサンプル クエリ (Microsoft 365 排出量の場合)
クエリの種類 | 例 |
---|---|
テナントの排出量 | {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 リソースの計算された使用係数を表します。
プロパティ | タイプ | ノート/メモ |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
enrollmentId | 文字列 | 請求先アカウント ID とも呼ばれます。 |
orgName | 文字列 | TP Name または Top Parent Name と同じです。 |
subscriptionId | 文字列 | サブスクリプションの ID です。 |
subscriptionName | 文字列 | サブスクリプションの名前です。 |
subService | 文字列 | たとえば、Azure Storage や Azure Compute です。 |
azureRegionName | 文字列 | サービスが展開される Azure リージョンです。 |
使用状況 | 倍精度浮動小数点 | レコードの合計使用量です。 指定された地域におけるサービスの標準化された使用状況を表すため、単位はありません。 |
Microsoft の計算方法の詳細については、Microsoft Cloud for Sustainability API 計算方法 をご覧ください。|
EnrollmentUsage エンティティのサンプル クエリ
クエリの種類 | 例 | 注 |
---|---|---|
すべての使用状況データ | {serviceRootAzure}/usage | |
サブスクリプションあたりの月ごとの合計使用量 | {serviceRootAzure}/usage?$apply=groupby((SubscriptionName,DateKey),aggregate(usage with sum as TotalUsage))&$orderby=SubscriptionName,DateKey |
EnrollmentProjection エンティティ (Azure 排出量の場合)
過去 5 か月の移動平均に基づいた、暦年の残りの予測排出を表します。 年換算されたビジュアル化を対象としています。
プロパティ | タイプ | ノート/メモ |
---|---|---|
dateKey | int32 | yyyymmdd 形式の日付。dd は常に 01 です。 |
enrollmentId | 文字列 | 請求先アカウント ID とも呼ばれます。 |
actualEmissions | 倍精度浮動小数点 | 過去の日付 (mtCO2e) のみが含まれます。 |
projectedEmissions | 倍精度浮動小数点 | 現在の年に利用可能な実際のデータ (mtCO2e) に基づく、過去 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