Udostępnij za pośrednictwem


Interfejs API obliczenia emisji ogólnych

Microsoft Cloud for Sustainability Tech Summit w listopadzie 2024 r.

Możesz użyć interfejsu API msdyn_runEmissionCalculationService do obliczenia emisji ogólnych na potrzeby działań za pomocą modelu obliczeń bez tworzenia profilu obliczeń. Jako subskrybent Microsoft Sustainability Manager możesz używać adresu URL do uzyskania dostęp do interfejsu API:

{organization url}/api/data/v{version}/msdyn_runEmissionCalculationService

W tym adresie URL element organization url odwołuje się do podstawowego adresu URL organizacji, w której jest zainstalowane rozwiązanie Microsoft Sustainability Manager i do którego użytkownik ma dostęp. Wersja odnosi się do wersji internetowego interfejsu API (na przykład 9.2).

Uzyskiwanie identyfikatorów encji

Istnieje wiele sposobów uzyskania identyfikatorów dla encji, takich jak dane działań i model obliczeń. Są to: internetowy interfejs API XRM, interfejs API klienta i bezpośrednio za pośrednictwem URL encji w Microsoft Sustainability Manager.

Parametry wejściowe

Jako niestandardowy interfejs API Dataverse środowisko uruchomieniowe interfejsu API obliczania emisji ogólnych ma limit wynoszący dwie minuty. Został przekroczony czas obliczeń, więc rozmiar wejściowy jest ograniczony zgodnie z następującą tabelą.

Nazwa/nazwisko Type Wymagane? opis
activityIds Tablica ciągów Tak Lista identyfikatorów rekordów danych działań, które mają być używane w obliczeniach. W danych wejściowych można dodać do 500 identyfikatorów działań.
calculationModelId String Tak Identyfikator model obliczeń do użycia w obliczaniu emisji.
version String Nie Numer wersji interfejsu API identyfikuje wersję interfejsu API, która powinna być wywoływana. Obecnie dostępna jest tylko wersja 1.0.0. Jeśli wartość nie zostanie określona, używana będzie najnowsza wersja.

Parametry wyjściowe

Na najwyższym poziomie wartość wyjściowa to ciąg JSON zawierający listę encji wyjściowych emisji ogólnych. Dla każdego zakwalifikowane działanie encja wyjściowa może zawierać szacowane zakwalifikowanie lub błędy napotykane podczas obliczania w zależności od tego, czy obliczenia były udane. Zawsze sprawdź flagę IsErrorRecord w rekordzie wyjściowym przed próbą uzyskania dostępu.

Encja wyjściowa emisji ogólnych

Encja wyjściowa emisji ogólnych nie istnieje w usłudze Dataverse. Jest to kolekcja odpowiednich atrybutów z encji emisji i encji błędu obliczeń. Interfejs API obliczania emisji ogólnych zwraca listę tych encji wraz z każdą encją odpowiadającą odpowiedniemu rekordowi danych działania w danych wejściowych.

Encja wyjściowa ma następujące atrybuty:

Nazwa/nazwisko Type Podpis
ActivityId String Identyfikator rekordu danych działania obliczenia.
ActivityName String Nazwa rekordu danych działania obliczenia.
IsErrorRecord Wartość logiczna Wartość logiczna wskazująca, czy w obliczeniach dla danego działania wystąpiły błędy. Jeśli wartość to prawda, obliczenia zakończyły się niepowodzeniem i napotkane błędy można wyświetlać za pomocą atrybutu ErrorJson.
ErrorJson String Ciąg JSON reprezentujący wszystkie błędy obliczeń napotkane podczas przetwarzania tego działania. Ta wartość to null, jeśli wartość IsErrorRecord to fałsz.
Nazwa/nazwisko String Nazwa emisji obliczanej dla tego działania. Ta wartość to null, jeśli wartość IsErrorRecord to prawda.
CH4 Dziesiętne Wartość CH4 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CH4.
CH4Unit String Nazwa jednostki wartości CH4 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CH4.
CO2 Dziesiętne Wartość CO2 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2.
CO2Unit String Nazwa jednostki wartości CO2 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2.
Odpowiednik CO2 Dziesiętne Wartość CO2e emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2e.
Co2eUnit String Nazwa jednostki wartości CO2e emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera CO2e.
HFC Dziesiętne Wartość HFCs emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera HFCs.
HFCsUnit String Nazwa jednostki wartości HFCs emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera HFCs.
N2O Dziesiętne Wartość N2O emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera N2O.
N2OUnit String Nazwa jednostki wartości N2O emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera N2O.
NF3 Dziesiętne Wartość NF3 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera NF3.
NF3Unit String Nazwa jednostki wartości NF3 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera NF3.
PFC Dziesiętne Wartość PFCs emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera PFCs.
PFCsUnit String Nazwa jednostki wartości PFCs emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera PFCs.
SF6 Dziesiętne Wartość SF6 emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera SF6.
SF6Unit String Nazwa jednostki wartości SF6 emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera SF6.
OtherGHGs Dziesiętne Wartość innych gazów cieplarnianych dla emisji obliczanej dla tego działania. Ta wartość wynosi 0, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera innych GHGs.
OtherGHGsUnit String Nazwa jednostki wartości innych gazów cieplarnianych dla emisji obliczanej dla tego działania. Ta wartość to null, jeśli rekord IsErrorRecord ma wartość prawda lub jeśli nie zawiera innych GHGs.

Przykłady

W poniższym przykładzie interfejs API jest wywoływany z prawidłowym identyfikatorem danych działania, co stanowi bezbłędną odpowiedź.

Dane wejściowe:

{

  "activityDataIds": [
    "decc7c96-9180-ed11-aacf-000d3a1477fd”
  ],

  "calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",

  "version": "1.0.0"

}

Dane wyjściowe:

[
{
"ActivityId": "decc7c96-9180-ed11-aacf-000d3a1477fd",
"ActivityName": "Passenger car",
"IsErrorRecord": false,
"ErrorJson": null,
"Name": "Employee Commuting 526",
"CH4": 2267.832,
"CH4Unit": "g",
"CO2": 107560.032,
"CO2Unit": "kg",
"CO2e": 108292.541736,
"CO2eUnit": kg,
"HFCs": 0,
"HFCsUnit": null,
"N2O": 2267.832,
"N2OUnit": "g",
"NF3": 0,
"NF3Unit": null,
"PFCs": 0,
"PFCsUnit": null,
"SF6": 0,
"SF6Unit": null,
"OtherGHGs": 0,
"OtherGHGsUnit": null
}
]

W poniższym przykładzie interfejs API jest wywoływany z nieprawidłowym identyfikatorem danych działania, co stanowi odpowiedź z błędem. W rekordzie działania brakuje pola kosztów, które wymaga modelu obliczania w danych wejściowych. W rezultacie rekord wyjściowy ma błąd JSON zawierający stos wyjątków obliczania występujący podczas oceny rekordu. Kod błędu usługi z napotkanych wyjątków może pomóc użytkownikowi w zrozumieniu, co poszło źle. W tym przypadku element EmissionCalculationActionFieldValueNullBlankException wskazuje, że wymagane pole jest puste.

Dane wejściowe:

{

  "activityDataIds": [
       "22a8b098-4b8b-ed11-aad1-000d3a5bc56a"
  ],

  "calculationModelId": "0b533a50-399e-ec11-b400-00224823f2de",

  "version": "1.0.0"

}

Dane wyjściowe:

[
{ 
    "ActivityId": "22a8b098-4b8b-ed11-aad1-000d3a5bc56a", 
    "ActivityName": null, 
    "IsErrorRecord": true, 
    "ErrorJson": { 
      "ServiceErrorCode": "ActivityCalculationModelExecutionException", 
      "UserMessageParameters": [ 
        "Invalid Fugitive Emissions" 
      ], 
      "InnerException": { 
        "ServiceErrorCode": "EmissionCalculationActionFieldValueNullBlankException", 
        "UserMessageParameters": [ 
          "Action 1" 
        ], 
        "InnerException": { 
          "ServiceErrorCode": null, 
          "UserMessageParameters": null, 
          "InnerException": { 
            "ServiceErrorCode": null, 
            "UserMessageParameters": null, 
            "InnerException": null 
          } 
        } 
      } 
    }, 
    "Name": null, 
    "CH4": 0, 
    "CH4Unit": null, 
    "CO2": 0, 
    "CO2Unit": null, 
    "CO2e": 0, 
    "CO2eUnit": null, 
    "HFCs": 0, 
    "HFCsUnit": null, 
    "N2O": 0, 
    "N2OUnit": null, 
    "NF3": 0, 
    "NF3Unit": null, 
    "PFCs": 0, 
    "PFCsUnit": null, 
    "SF6": 0, 
    "SF6Unit": null, 
    "OtherGHGs": 0, 
    "OtherGHGsUnit": null 
  }] 
]

Wywoływanie niestandardowych interfejsów API

Więcej informacji można znaleźć na stronie Tworzenie i używanie niestandardowych interfejsów API.