Export údajů o emisích pomocí rozhraní REST API
Pokud chcete exportovat data o emisích pomocí rozhraní REST API, musíte vytvořit a autorizovat instanční objekt pro přístup k datům o emisích. Instanční objekt pak můžete použít k získání autorizačního tokenu a následnému exportu dat o emisích pomocí rozhraní REST API.
Vytvoření a autorizace instančního objektu pro export údajů o emisích
Instanční objekt je aplikace, jejíž tokeny je možné použít k ověření a udělení přístupu ke konkrétním prostředkům Azure pomocí Microsoft Entra ID (dříve Azure Active Directory). Mezi prostředky patří uživatelské aplikace, služby nebo nástroje pro automatizaci.
Vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům.
Uložte ID tenanta, nové ID klienta a hodnotu tajného klíče klienta pro vaši aplikaci pro použití v žádostech o tokeny.
Aplikace musí mít přiřazenou Carbon Optimization Reader
roli pro prostředky, pro které chcete exportovat údaje o emisích. Pokud plánujete aplikaci použít k exportu údajů o emisích pro mnoho prostředků, můžete roli přiřadit na úrovni skupiny prostředků nebo předplatného. Další informace najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.
Získání autorizačního tokenu
Na příkazovém řádku nebo pomocí klienta, jako je Postman, odešlete následující požadavek.
curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource=https://management.azure.com'
Zobrazí se text odpovědi:
{
"token_type": "Bearer",
"expires_in": "86399",
"ext_expires_in": "86399",
"expires_on": "1672826207",
"not_before": "1672739507",
"resource": "https://management.azure.com",
"access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}
Použijte přístupový token z odpovědi pro použití v následujících požadavcích HTTP.
Export údajů o emisích pomocí rozhraní REST API
POST /providers/Microsoft.Carbon/carbonEmissionReports?api-version=2023-04-01-preview Host: management.azure.com Content-Type: application/json Authorization: Bearer <hodnota tokenu>
Příklad požadavku
POST /providers/Microsoft.Carbon/carbonEmissionReports?api-version=2023-04-01-preview
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKJ...gVBNrsvg
{
"reportType": "OverallSummaryReport",
"subscriptionList": [
"abcd1234-a1b2-d3c4-e3f5-976543210abc"
],
"carbonScopeList": [
"Scope1",
"Scope2",
"Scope3"
],
"dateRange": {
"start": "2023-12-01",
"end": "2023-12-01"
}
}
Příklad curl:
curl --location 'https://management.azure.com/providers/Microsoft.Carbon/carbonEmissionReports?api-version=2023-04-01-preview' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0eXA...2-KgVBNrsvg' \
--data '{
"reportType": "OverallSummaryReport",
"subscriptionList": [
"abcd1234-a1b2-d3c4-e3f5-976543210abc"
],
"carbonScopeList": [
"Scope1",
"Scope2",
"Scope3"
],
"dateRange": {
"start": "2023-12-01",
"end": "2023-12-01"
}
}
'
Ukázkový výstup
{
"value": [
{
"dataType": "OverallSummaryData",
"totalCarbonEmission": 7000.622265493289,
"totalCarbonEmission12MonthsAgo": 0,
"totalCarbonEmissionLastMonth": 7480.374908590786,
"changeRatioFor12Months": 0,
"changeRatioForLastMonth": -0.06413483935765417,
"changeValueMonthOverMonth": 0
}
]
}
Typy sestav
Typ sestavy |
Popis |
Kdy použít |
OverallSummaryReport |
Celkové emise pro všechny rozsahy předplatných a rozsah kalendářních dat zadaných ve vstupu. |
Požadovaná data sestavy vysoké úrovně |
MonthlySummaryReport |
Emise pro všechna předplatná a rozsahy emisí pro každý měsíc zadaný v rozsahu kalendářních dat. |
Měsíční rozpis |
TopItemsSummaryReport |
Emise nejvyšších položek X agregované napříč předplatnými, emisemi, rozsahem, kategorií a zadaným rozsahem kalendářních dat rozdělených podle kategorie. |
Data pro nejvyšší položky podle kategorie |
TopItemsMonthlySummaryReport |
Emise nejvyšších položek X agregované napříč předplatnými, emisemi, rozsahy a kategoriemi pro každý měsíc zadaný v rozsahu kalendářních dat. Emise jsou rozděleny podle kategorie. Nejvyšší položky X jsou založeny na emisích za poslední měsíc. |
Data pro nejvyšší položky podle kategorií a měsíců |
ItemDetailsReport |
Emise agregované napříč vybranými rozsahy a předplatnými pro daný rozsah kalendářních dat a rozdělené podle zadané kategorie. |
Údaje o emisích podle kategorie |
Parametry rozhraní API pro export emisí
Následující tabulka popisuje parametry, které můžete použít k exportu dat o emisích pomocí rozhraní REST API.
Parametr |
Typ |
Popis |
reportType |
Řetězec |
Název typu sestavy Podporované hodnoty: OverallSummaryReport
MonthlySummaryReport
TopItemsSummaryReport TopItemsMonthlySummaryReport ItemDetailsReport |
subscriptionList |
[Řetězec] |
Seznam subscriptionId, pro který chcete zadat dotaz. Klient by měl mít přístup k těmto předplatným. |
resourceGroupUrlList |
[Řetězec] |
Seznam adres URL skupiny prostředků, pro který chcete získat data. Například: "resourceGroupUrlList": [ "/subscriptions/sub-id-1111/resourcegroups/rg_name" ] Hodnota řetězce v poli musí mít tento formát: "/subscriptions/{sub_id}/resourcegroups/{rg_name}" |
carbonScopeList |
[Řetězec] |
Seznam rozsahu emisí uhlíku. Podporované hodnoty: Scope1 , Scope2 a Scope3 . Tento seznam může být libovolná kombinace těchto tří oborů. |
dateRange |
Struct |
Podporuje jeden měsíc od posledních 12 měsíců. Počáteční a koncový měsíc by měl být stejný a měl by to být první den v měsíci. Pokud tato kritéria nejsou splněna, vyvolá se výjimka. Například dateRange": { "start": "2023-03-01", "end": "2023-03-01}
start a end formát: rrrr-mm-dd. V současné době se údaje o emisích uhlíku aktualizují měsíčně. Hodnota vlastností dateRange start a end tedy musí být první den každého měsíce. |
Poznámka
dateRange
podporuje jeden měsíc najednou (od posledního 12 měsíců). Pokud se počáteční a koncové datum liší, vyvolá se výjimka.
Parametry specifické pro sestavy
V následující tabulce jsou uvedeny další parametry, které jsou vyžadovány pro každý typ sestavy.
AdditionalParameter |
Typ |
Popis |
Zprávy |
categoryType |
Řetězec |
Podporuje se pět typů kategorií: Subscription
Location
ServiceType
ResourceGroup
Resource
|
TopItemsSummaryReport TopItemsMonthlySummaryReport
ItemDetailsReport
|
topItemsCount |
Celé číslo |
Horní x položky, které se mají zobrazit (>5) |
TopItemsSummaryReport TopItemsMonthlySummaryReport
|
ItemDetailsReport |
category |
Řetězec |
Název kategorie. Například "category": "ResourceGroup" |
pageSize |
Celé číslo |
Velikost stránky výsledku dotazu. Výchozí hodnota je 1000. Maximální hodnota je 2000. |
ItemDetailsReport |
orderBy |
Řetězec |
V následující tabulce najdete podporované hodnoty společně s podporovanými typy kategorií. |
ItemDetailsReport |
sortDirection |
Řetězec |
Hodnoty podpory: Desc , Asc |
ItemDetailsReport |
groupCategory |
Řetězec |
Můžete ho nastavit jako prázdný řetězec. Platné hodnoty: ResourceGroup a SubscriptionId |
ItemDetailsReport |
Pořadí podle sloupců
Následující sloupce výsledků podporují parametr orderBy
.
Pořadí podle názvu sloupce |
Typ kategorie |
Name |
kromě Subscription |
TotalCarbonEmission |
všichni |
TotalCarbonEmissionLastMonth |
všichni |
ResourceGroup |
pouze pro kategorii Resource |
SubscriptionId |
kategorie Subscription , Resource a ResourceGroup |
ChangeRatioForLastMonth |
všichni |
ChangeValueMonthOverMonth |
všichni |
Další informace o sestavách rozhraní REST API najdete v tématu Uhlíková služba – výpis zpráv o emisích uhlíku.