Hopp til hovedinnhold

Cognite OData-tjenester

Cognite tilbyr OData-tjenester for å hente data fra Cognite Data Fusion (CDF) ved hjelp av OData-klienter som Microsoft Power BI, Microsoft Excel og TIBCO Spotfire.

Open Data Protocol (OData) er en åpen standard som definerer anbefalte fremgangsmåter for å bygge og forbruke RESTful-API-er. OData tilbyr følgende:

  • Standardisert spørringssyntaks: Gjør det mulig med filtrering, sortering, paginering og projeksjoner på tvers av ulike datakilder.

  • Støtte for metadata: Klienter kan oppdage datastrukturen og -typene via metadata-dokumenter.

  • Interoperabilitet: Alle klienter som støtter HTTP og forstår OData, kan forbruke OData-tjenester.

Cognite tilbyr en taggsentrert OData-tjeneste og en OData-tjeneste for datamodellering. Begge tjenestene pakker inn standard-API-ene for Cognite og implementerer en OData Version 4 API for skrivebeskyttelsesformål. De oversetter OData-forespørsler til tilsvarende Cognite API-oppkallinger, slik at du kan samhandle med CDF-data ved hjelp av OData-kompatible klienter og verktøy.

Bruke OData-tjenestene

Hvis du vil samhandle med Cognite OData-tjenester, må du sende HTTP GET-forespørsler til spesifikke endepunkter.

Autentisering

Hvis du vil autentisere deg med OData-tjenestene, må du inkludere en bærertoken i godkjenningsoverskriften for HTTP-forespørslene.

Eksempel:

Authorization: Bearer {YourAccessToken}

Du kan skaffe deg en tilgangstoken med den riktige autentiseringsflyten for oppsettet ditt (f.eks. OAuth 2.0, OpenID Connect). Hvis du vil ha flere detaljer, kan du se dokumentasjonen for autentisering.

Sende forespørsler

Eksempel på GET-forespørsel

Slik henter du alle tagger i et prosjekt:

GET https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets

Der:

  • {cluster}: CDF-klyngenavnet (f.eks. vesteuropa-1).
  • {apiVersion}: API-versjonen til OData-tjenesten (f.eks. v1).
  • {project}: CDF-prosjektnavnet ditt.
Spørringsparametere

Bruk spørringsparametere for å filtrere, sortere, velge og paginere data.

  • Filtrering – bruk spørringsparameteren $filter for å filtrere data.

    Eksempel: Hent tagger der Name er lik 'Pump 1': GET .../Assets?$filter=Name eq 'Pump 1'

  • Velge felter – bruk spørringsparameteren $select til å hente spesifikke felter.

    Eksempel: Hent bare Id og Name for tagger: GET .../Assets?$select=Id,Name

  • Sortering – bruk spørringsparameteren $orderby til å sortere resultater.

    Eksempel: Sorter tagger etter Name i stigende rekkefølge: GET .../Assets?$orderby=Name asc

  • Utvide relaterte enheter – bruk spørringsparameteren $expand til å inkludere relaterte enheter. Eksempel: Hent en tagg sammen med dens overordnede: GET .../Assets(702630644612)/Parent?$expand=Parent

    Merk: Ikke alle enheter og relasjoner støtter utvidelse. Se dokumentasjonen for de enkelte tjenestene for detaljer.

  • Kombinere spørringsparametere – du kan kombinere flere spørringsparametere for å avgrense forespørselen.

    Eksempel: Hent Id og Name for tagger der Name starter med 'Pump', sortert etter Name, og hent de første ti resultatene: GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc&$top=10

Svarformat

OData-tjenestene returner svar i JSON-format, i henhold til OData V4-standarden.

Eksempelsvar:

{
"@odata.context": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/$metadata#Assets/",
"value": [
{
"Id": "12345",
"DataSetId": null,
"ExternalId": "WMT:VAL",
"Name": "Pump 1",
"Description": "Main pump"
// other properties
}
]
}
Paginering i svar

OData-tjenesten kan paginere svaret for store resultatsett. Svaret inkluderer en @odata.nextLink-egenskap med en nettadresse for å hente den neste siden med resultater.

Eksempel:

{
"@odata.context": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/$metadata#Assets",
"value": [ // records ],
"@odata.nextLink": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets?$skipToken=123"
}

Begrensninger og funksjoner som støttes

OData-tjenestene har som mål å overholde OData V4-standarden, men det kan hende at noen funksjoner er begrenset eller ikke støttes på grunn av underliggende restriksjoner for Cognite API-ene.

Se dokumentasjonen for de enkelte tjenestene hvis du vil ha detaljert informasjon om funksjoner som støttes, og begrensninger.