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 opvragen, zoals 20aec369-f1c8-4814-a89d-4d449dd7e8a1.

  • {serviceRootM365}: {serviceRoot}/m365

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

  • {enrollmentId}: De inschrijvings-id, ook wel factureringsaccount-id genoemd. Voorbeeld: 12345678.

  • {tenantId}: tenant-id voor Microsoft 365.

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
subscriptionId string
subscriptionName string
azureServiceName string
subService string Bijvoorbeeld: Azure Storage of Azure Compute.
azureRegionName string
bereik string
scopeId int32
totalEmissions dubbel

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

Querytype Voorbeeld
Uitstoot per inschrijving {serviceRootAzure}/emissions
Bepaalde velden selecteren {serviceRootAzure}/emissions?$select=enrollmentId,totalEmissions,scopeId
Aantal opnemen {serviceRootAzure}/emissions?$count=true
Aantal resultaten beperken {serviceRootAzure}/emissions?$top=100
Paginering {serviceRootAzure}/emissions?$skip=100&$top=50
Filteren op scope {serviceRootAzure}/emissions?$filter=ScopeId eq 1
Filteren en aggregeren {serviceRootAzure}/emissions?$apply=filter(ScopeId eq 1)/aggregate($count as Count, totalEmissions with average as Average, totalEmissions with sum as Sum)
Filteren en groeperen {serviceRootAzure}/emissions?$apply=filter(totalEmissions gt 0.05)/groupby((ScopeId), aggregate($count as Count))`

Microsoft365Emission-entiteit (voor M365-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
tenantName string
officeRegionName string Microsoft 365-datacentrumregio
bereik string een van de volgende: Scope1, Scope2, Scope3
totalEmissions dubbel

Voorbeeldquery's voor de entiteit Microsoft365Emission (voor M365-uitstoot)

Querytype Voorbeeld
Uitstoot voor tenant {serviceRootM365}/tenantemissions
Bepaalde velden selecteren {serviceRootM365}/emissions?$select=tenantId,totalEmissions,scope
Aantal opnemen {serviceRootM365}/tenantemissions?$count=true
Aantal resultaten beperken {serviceRootM365}/tenantemissions?$top=100
Paginering {serviceRootM365}/tenantemissions?$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 as Count, totalEmissions with average as Average, totalEmissions with sum as Sum)
Filteren en groeperen {serviceRootM365}/tenantemissions?$apply=filter(totalEmissions gt 0.05)/groupby((Scope), aggregate($count as 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
subscriptionId string
subscriptionName string
subService string Bijvoorbeeld: Azure Storage of Azure Compute.
azureRegionName string
gebruikt dubbel 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}/usage
Totaal gebruik per maand per abonnement {serviceRootAzure}/usage?$apply=groupby((SubscriptionName,DateKey),aggregate(usage with sum as TotalUsage))&$orderby=SubscriptionName,DateKey

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.
projectedEmissions dubbel Gebaseerd op een voortschrijdend gemiddelde van de voorafgaande vijf maanden.
actualUsage dubbel Alleen opgenomen voor datums in het verleden.
projectedUsage dubbel Gebaseerd op een voortschrijdend gemiddelde van de voorafgaande vijf maanden.

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

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

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. Zoek uw inschrijvings-id en factureringsaccount-id in de Azure-portal.

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.

Zie ook

Overzicht van Cloud for Sustainability API
Berekeningsmethodologie voor Microsoft Cloud for Sustainability API
Microsoft Cloud for Sustainability API