Delen via


Voorbeelden van OData-query's voor Cloud for Sustainability API (preview)

Belangrijk

Een gedeelte van of alle functionaliteit is beschikbaar als onderdeel van een preview-release. De inhoud en functionaliteit zijn aan verandering onderhevig.

OData (Open Data Protocol) is een gegevenstoegangsprotocol dat is gebaseerd op kernprotocollen zoals HTTP. Het maakt gebruik van algemeen aanvaarde methodologieën zoals REST voor het web. U kunt verschillende bibliotheken en tools gebruiken om OData-services te gebruiken.

U kunt een aantal van deze veel gevraagde voorbeeldquery′s bekijken zodat u uw eigen implementaties kunt bouwen op basis van de Microsoft Cloud for Sustainability API.

Wijzig de queryvoorbeelden om ze te laten werken in uw doelomgevingen:

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

  • {instanceId}: De GUID van de Cloud for Sustainability omgeving die u wilt raadplegen, bijvoorbeeld 20aec369-f1c8-4814-a89d-4d449dd7e8a1.

  • {serviceRootM365}: {serviceRoot}/m365

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

  • {enrollmentId}: De inschrijvings-ID, ook wel bekend als de ID van het factureringsaccount. Voorbeeld: 12345678.

  • {tenantId}: Microsoft 365 huurder-ID.

Notitie

Sommige API-query's bevatten veel resultaten en zijn verdeeld over meerdere pagina's. De API retourneert maximaal 1000 resultaten per pagina. Als er meer resultaten beschikbaar zijn, retourneert de API een eigenschap @odata.nextLink met een URL naar de volgende pagina met resultaten.

EnrollmentEmission-entiteit (voor Azure-uitstoot)

Vertegenwoordigt de uitstootgegevens voor een factureringsaccount, ook wel inschrijving genoemd.

Eigenschap Type Aantekeningen
dateKey int32 Datum in jjjjmmdd-indeling; dd is altijd 01.
enrollmentId string Ook wel factureringsaccount-id genoemd.
orgName string Hetzelfde als TP-naam of Bovenliggende naam.
subscriptionId string Id van het abonnement.
subscriptionName string De naam van het abonnement.
azureServiceName string Naam van een Azure-service, bijvoorbeeld App Service
subService string Bijvoorbeeld: Azure Storage of Azure Compute.
azureRegionName string Azure-regio waar de service wordt geïmplementeerd.
bereik string Broeikasgasbereik, bijvoorbeeld scope 1, scope 2 of scope 3.
scopeId int32 Id van het bereik
totalEmissions dubbel Totale uitstoot voor een record (mtCO2e).

Voorbeeldquery's voor de entiteit EnrollmentEmission (voor Azure-uitstoot)

Querytype Voorbeeld
Uitstoot per inschrijving {serviceRootAzure}/emissies
Bepaalde velden selecteren {serviceRootAzure}/emissies?$select=inschrijvings-ID,totale emissies,scope-ID
Aantal opnemen {serviceRootAzure}/emissies?$count=true
Aantal resultaten beperken {serviceRootAzure}/emissies?$top=100
Paginering {serviceRootAzure}/emissies?$skip=100&$top=50
Filteren op scope {serviceRootAzure}/emissies?$filter=ScopeId eq 1
Filteren en aggregeren {serviceRootAzure}/emissies?$apply=filter(ScopeId eq 1)/aggregate($count als Aantal, totaleEmissies met gemiddelde als Gemiddelde, totaleEmissies met som als Som)
Filteren en groeperen {serviceRootAzure}/emissies?$apply=filter(totaleEmissies gt 0.05)/groupby((ScopeId), aggregate($count als Count))`

Entiteit Microsoft365Emission (voor Microsoft 365-uitstoot)

Vertegenwoordigt Microsoft 365-datacentrumuitstoot die is gekoppeld aan de volgende toepassingen:

  • Exchange Online
  • SharePoint
  • OneDrive
  • Microsoft Teams
  • Word
  • Excel
  • PowerPoint
  • Outlook
Eigenschappen Type Aantekeningen
dateKey int32 Datum in jjjjmmdd-indeling; dd is altijd 01.
tenantId string Id van de tenant.
tenantName string Naam van de tenant.
officeRegionName string Microsoft 365-datacentrumregio.
bereik string Broeikasgasbereik, bijvoorbeeld scope 1, scope 2 of scope 3.
totalEmissions dubbel Totale uitstoot voor een record (mtCO2e).

Voorbeeldquery's voor de entiteit Microsoft365Emission (voor Microsoft 365-uitstoot)

Querytype Voorbeeld
Uitstoot voor tenant {serviceRootM365}/huurdermissies
Bepaalde velden selecteren {serviceRootM365}/emissies?$select=tenantId,totaleEmissies,bereik
Aantal opnemen {serviceRootM365}/tenantemissies?$count=true
Aantal resultaten beperken {serviceRootM365}/tenantemissies?$top=100
Paginering {serviceRootM365}/tenantemissies?$skip=100&$top=50
Filteren op scope {serviceRootM365}/tenantemissions?$filter=Scope eq 'FILLMEIN'
Filteren en aggregeren {serviceRootserviceRootM365Azure}/tenantemissions?$apply=filter(scope eq 'FILLMEIN')/aggregate($count als Count, totalEmissions met gemiddelde als Average, totalEmissions met sum als Sum)
Filteren en groeperen {serviceRootM365}/tenantemissions?$apply=filter(totalEmissions gt 0.05)/groupby((Scope), aggregate($count als Count))`

EnrollmentUsage-entitit (voor Azure-uitstoot)

Vertegenwoordigt een berekende gebruiksfactor van Microsoft Cloud-resources.

Eigenschap Type Aantekeningen
dateKey int32 Datum in jjjjmmdd-indeling; dd is altijd 01.
enrollmentId string Ook wel factureringsaccount-id genoemd.
orgName string Hetzelfde als TP-naam of Bovenliggende naam.
subscriptionId string Id van het abonnement.
subscriptionName string De naam van het abonnement.
subService string Bijvoorbeeld: Azure Storage of Azure Compute.
azureRegionName string Azure-regio waar de service wordt geïmplementeerd.
gebruikt dubbel Totaal gebruik van de record. Heeft de eenheid niet omdat deze het genormaliseerde gebruik van de service in de opgegeven regio vertegenwoordigt.

Ga voor meer informatie over de berekeningsmethodologie van Microsoft naar Microsoft Cloud for Sustainability API-berekeningsmethodologie.|

Voorbeeldquery's voor de entiteit EnrollmentUsage

Querytype Voorbeeld Notitie
Alle gebruiksgegevens {serviceRootAzure}/gebruik
Totaal gebruik per maand per abonnement {serviceRootAzure}/usage?$apply=groupby((Abonnementsnaam,Datumsleutel),aggregate(gebruik met som als Totaalgebruik))&$orderby=Abonnementsnaam,Datumsleutel

EnrollmentProjection-entiteit (voor Azure-uitstoot)

Vertegenwoordigt de verwachte uitstoot voor de rest van het kalenderjaar, gebaseerd op een voortschrijdend gemiddelde van de voorafgaande vijf maanden. Bedoeld voor visualisaties op jaarbasis.

Eigenschap Type Aantekeningen
dateKey int32 Datum in jjjjmmdd-indeling; dd is altijd 01.
enrollmentId string Ook wel factureringsaccount-id genoemd.
actualEmissions dubbel Alleen opgenomen voor datums in het verleden (mtCO2e).
projectedEmissions dubbel Gebaseerd op een voortschrijdend gemiddelde van de afgelopen vijf maanden of minder, op basis van de feitelijk beschikbare gegevens voor het lopende jaar (mtCO2e).
actualUsage dubbel Alleen opgenomen voor datums in het verleden.
projectedUsage dubbel Gebaseerd op een voortschrijdend gemiddelde van de afgelopen vijf maanden of minder, op basis van de feitelijk beschikbare gegevens voor het lopende jaar.

Voorbeeldquery's voor de entiteit EnrollmentProjection (voor Azure-uitstoot)

Querytype Voorbeeld Notitie
Projecties na 7-2022 {serviceRootAzure}/projecties?$filter=dateKey gt 20220701
Alle projecties voor jaar {serviceRootAzure}/projecties

Belangrijk

De Microsoft Cloud for Sustainability API is momenteel in preview en kan wijzigingen ondergaan. Uw historische uitstootcijfers worden mogelijk ook bijgewerkt zodra Microsoft verbeteringen aanbrengt in de nauwkeurigheid en volledigheid van gegevens.

Veelgestelde vragen

Hoe berekent Microsoft uitstoot en gebruik?

Ga voor informatie over de berekeningsmethodologie van Microsoft naar Microsoft Cloud for Sustainability API-berekeningsmethodologie.

Wat is Rownum?

De API gebruikt rownum voor consistente paginering. De waarde kan worden gewijzigd, dus uw toepassing mag er niet afhankelijk van zijn.

Wat is een inschrijvings-id?

Een inschrijvings-id verwijst naar een factureringsaccount-id. Vind uw inschrijvings-ID en factureringsaccount-ID in het Azure portaal.

Hoe verkrijg ik een autorisatietoken voor mijn doelomgeving?

De API vereist een OAuth-autorisatietoken. Wij adviseren gebruik te maken van de Microsoft-verificatiebibliotheek (MSAL).

De API retourneert een @odata.nextLink-eigenschap als er meer resultaten zijn dan er in de huidige respons zijn geretourneerd. Uw app moet nog een GET uitvoeren op deze nextLink om de volgende pagina met resultaten te krijgen. De laatste pagina bevat geen nextLink. Bekijk dit codevoorbeeld voor meer informatie over paginering met een OData-clientbibliotheek.