Share via


Beispiele für OData-Abfragen für die Cloud for Sustainability-API (Vorschauversion)

Microsoft Cloud for Sustainability Technical Summit, Mai 2024

Wichtig

Einige oder alle dieser Funktionen sind als Teil einer Vorschauversion verfügbar. Inhalt und Funktionalität können sich ändern.

Open Data Protocol (OData) ist ein Datenzugriffsprotokoll, das auf Kernprotokollen wie HTTP aufbaut. Es verwendet allgemein anerkannte Methoden wie REST für das Web. Es gibt verschiedene Bibliotheken und Tools zum Nutzen von OData-Diensten verwenden.

Damit Sie Ihre eigenen Implementierungen basierend auf der Microsoft Cloud for Sustainability-API aufbauen können, sehen Sie sich einige dieser häufig angefragten Beispielabfragen an.

Ändern Sie die Abfragebeispiele, damit sie in Ihren Zielumgebungen funktionieren:

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

  • {instanceId}: Die GUID der Cloud for Sustainability-Umgebung, die Sie abfragen möchten, z. B. 20aec369-f1c8-4814-a89d-4d449dd7e8a1.

  • {serviceRootM365}: {serviceRoot}/m365

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

  • {enrollmentId}: Die Registrierungs-ID, auch als Abrechnungskonto-ID bezeichnet. Beispiel: 12345678.

  • {tenantId}: Microsoft 365 Mandant ID.

Anmerkung

Einige API-Abfragen enthalten viele Ergebnisse und sind auf mehrere Seiten verteilt. Die API gibt pro Seite maximal 1000 Ergebnisse zurück. Wenn weitere Ergebnisse verfügbar sind, gibt die API die Eigenschaft @odata.nextLink zurück, die eine URL zur nächsten Ergebnisseite enthält.

Entität EnrollmentEmission (für Azure-Emissionen)

Stellt die Emissionsdaten für ein Abrechnungskonto dar, das auch als Registrierung bezeichnet wird.

Eigenschaften Typ Anmerkungen
dateKey int32 Datum im Format „jjjjmmtt“, tt ist immer 01.
enrollmentId Zeichenfolge Wird auch als Abrechnungskonto-ID bezeichnet.
orgName Zeichenfolge Dasselbe wie TP-Name oder Top-Parent-Name.
subscriptionId Zeichenfolge ID des Abonnements.
subscriptionName Zeichenfolge Name des Themenabonnements.
azureServiceName Zeichenfolge Name eines Azure-Dienstes, beispielsweise „App Service“.
subService Zeichenfolge Beispielsweise Azure Storage oder Azure Compute.
azureRegionName Zeichenfolge Azure-Region, in der der Service angeboten wird.
Bereich Zeichenfolge Geltungsbereich von Treibhausgasen, beispielsweise Geltungsbereich 1, Geltungsbereich 2 oder Geltungsbereich 3.
scopeId int32 ID des Bereichs.
totalEmissions doppelt Gesamtemissionen für die Aufzeichnung (mtCO2e).

Beispielabfragen für die Entität EnrollmentEmission (für Azure-Emissionen)

Abfragetyp Beispiel
Emissionen nach Registrierung {serviceRootAzure}/Emissionen
Bestimmte Felder auswählen {serviceRootAzure}/emissions?$select=enrollmentId,totalEmissions,scopeId
Enthält Anzahl {serviceRootAzure}/emissions?$count=true
Ergebnisanzahl begrenzen {serviceRootAzure}/emissions?$top=100
Seitenwechsel {serviceRootAzure}/emissions?$skip=100&$top=50
Nach Umfang filtern {serviceRootAzure}/emissions?$filter=ScopeId eq 1
Filtern und aggregieren {serviceRootAzure}/emissions?$apply=filter(ScopeId eq 1)/aggregate($count as Count, totalEmissions with average as Average, totalEmissions with sum as Sum)
Filtern und gruppieren {serviceRootAzure}/emissions?$apply=filter(totalEmissions gt 0.05)/groupby((ScopeId), aggregate($count as Count))`

Entität Microsoft365Emission (für M365-Emissionen)

Stellt die Microsoft 365-Emissionen von Rechenzentren in Verbindung mit den folgenden Anwendungen dar:

  • Exchange Online
  • SharePoint
  • OneDrive
  • Microsoft Teams
  • Word
  • Excel
  • PowerPoint
  • Outlook
Eigenschaften Typ Anmerkungen
dateKey int32 Datum im Format „jjjjmmtt“, tt ist immer 01.
tenantId Zeichenfolge Die ID des Mandanten.
MieterName Zeichenfolge Name des Mandanten.
officeRegionName Zeichenfolge Microsoft 365 Rechenzentrum Region.
Bereich Zeichenfolge Geltungsbereich von Treibhausgasen, beispielsweise Geltungsbereich 1, Geltungsbereich 2 oder Geltungsbereich 3.
totalEmissions doppelt Gesamtemissionen für die Aufzeichnung (mtCO2e).

Beispielhafte Abfragen für die Entität Microsoft365Emission (für M365 Emissionen)

Abfragetyp Beispiel
Emissionen für Mandant {serviceRootM365}/tenantemissions
Bestimmte Felder auswählen {serviceRootM365}/emissions?$select=tenantId,totalEmissions,scope
Enthält Anzahl {serviceRootM365}/tenantemissions?$count=true
Ergebnisanzahl begrenzen {serviceRootM365}/tenantemissions?$top=100
Seitenwechsel {serviceRootM365}/tenantemissions?$skip=100&$top=50
Nach Umfang filtern {serviceRootM365}/tenantemissions?$filter=Scope eq 'FILLMEIN'
Filtern und aggregieren {serviceRootserviceRootM365Azure}/tenantemissions?$apply=filter(scope eq 'FILLMEIN')/aggregate($count as Count, totalEmissions with average as Average, totalEmissions with sum as Sum)
Filtern und gruppieren {serviceRootM365}/tenantemissions?$apply=filter(totalEmissions gt 0.05)/groupby((Scope), aggregate($count as Count))`

EnrollmentUsage Entität (für Azure Emissionen)

Stellt einen berechneten Nutzungsfaktor von Microsoft-Cloud-Ressourcen dar.

Eigenschaften Typ Anmerkungen
dateKey int32 Datum im Format „jjjjmmtt“, tt ist immer 01.
enrollmentId Zeichenfolge Wird auch als Abrechnungskonto-ID bezeichnet.
orgName Zeichenfolge Dasselbe wie TP-Name oder Top-Parent-Name.
subscriptionId Zeichenfolge ID des Abonnements.
subscriptionName Zeichenfolge Name des Themenabonnements.
subService Zeichenfolge Beispielsweise Azure Storage oder Azure Compute.
azureRegionName Zeichenfolge Azure-Region, in der der Service angeboten wird.
Nutzung doppelt Gesamtnutzung des Datensatzes. Verfügt nicht über die Einheit, da sie die normalisierte Nutzung des Dienstes in der angegebenen Region darstellt.

Weitere Informationen zur Berechnungsmethodik von Microsoft finden Sie unter Microsoft Cloud for Sustainability-API-Berechnungsmethodik.|

Beispielabfragen für die EnrollmentUsage-Entität

Abfragetyp Beispiel Notiz
Alle Nutzungsdaten {serviceRootAzure}/Nutzung
Gesamtnutzung nach Monat pro Abonnement {serviceRootAzure}/usage?$apply=groupby((SubscriptionName,DateKey),aggregate(Nutzung mit Summe als TotalUsage))&$orderby=SubscriptionName,DateKey

EnrollmentProjection Entität (für Azure Emissionen)

Stellt die prognostizierten Emissionen für den Rest des Kalenderjahres dar, basierend auf einem gleitenden Durchschnitt der letzten fünf Monate. Für annualisierte Visualisierungen vorgesehen.

Eigenschaften Typ Anmerkungen
dateKey int32 Datum im Format „jjjjmmtt“, tt ist immer 01.
enrollmentId Zeichenfolge Wird auch als Abrechnungskonto-ID bezeichnet.
actualEmissions doppelt Nur für vergangene Daten enthalten (mtCO2e).
projectedEmissions doppelt Basierend auf einem gleitender Durchschnitt der letzten fünf Monate oder weniger, basierend auf den tatsächlich verfügbaren Daten für das aktuelle Jahr (mtCO2e).
actualUsage doppelt Nur für vergangene Daten enthalten.
projectedUsage doppelt Basierend auf einem gleitender Durchschnitt der letzten fünf Monate oder weniger, basierend auf den tatsächlich verfügbaren Daten für das aktuelle Jahr.

Beispielabfragen für die Entität EnrollmentProjection (für Azure-Emissionen)

Abfragetyp Beispiel Anmerkung
Projektionen nach 7-2022 {serviceRootAzure}/projections?$filter=dateKey gt 20220701
Alle Prognosen für das Jahr {serviceRootAzure}/Projektionen

Wichtig

Die Microsoft Cloud for Sustainability-API ist aktuell in der Vorschauversion verfügbar und kann sich ändern. Ihre historischen Emissionszahlen können auch aktualisiert werden, wenn Microsoft Verbesserungen an der Genauigkeit und Vollständigkeit der Daten vornimmt.

Häufig gestellte Fragen

Wie berechnet Microsoft Emissionen und Nutzung?

Weitere Informationen zur Berechnungsmethodik von Microsoft finden Sie unter Microsoft Cloud for Sustainability-API-Berechnungsmethodik.

Was ist Rownum?

Die API verwendet rownum für konsistente Paginierung. Der Wert kann sich ändern, sodass Ihre Anwendung nicht davon abhängig sein sollte.

Was ist eine Registrierungs-ID?

Eine Registrierungs-ID bezieht sich auf eine Abrechnungskonto-ID. Suchen Sie Ihre Registrierungs-ID und Abrechnungskonto-ID im Azure-Portal.

Wie erhalte ich ein Autorisierungstoken für meine Zielumgebung?

Die API erfordert ein OAuth-Autorisierungstoken. Wir empfehlen die Verwendung von Microsoft Authentication Library (MSAL).

Die API gibt eine @odata.nextLink-Eigenschaft zurück, wenn es mehr Ergebnisse gibt, als in der aktuellen Antwort enthalten sind. Ihre App sollte ein weiteres GET auf diesen nextLink durchführen, um die nächste Seite der Ergebnisse zu erhalten. Die letzte Seite wird keinen nextLink enthalten. In diesem Codebeispiel finden Sie weitere Details zur Paginierung mit einer OData Client-Bibliothek.

Siehe auch