Cognite OData pakalpojumi
Cognite sniedz OData pakalpojumus, lai iegūtu datus no Cognite Data Fusion (CDF), izmantojot tādus OData klientus kā Microsoft Power BI Microsoft Excel, un TIBCO Spotfire.
Open Data Protocol (OData) ir atvērts standarts, kas nosaka labāko praksi RESTful API izveidē un izmantošanā. OData sniedz tālāk norādīto.
-
Standartizēta vaicājuma sintakse: iespējo konsekventu filtrēšanu, kārtošanu, lapu numerāciju un projekcijas dažādos datu avotos.
-
Metadatu atbalsts: ar dažādu metadatu dokumentu palīdzību klienti var izpētīt datu struktūru un veidus.
-
Sadarbspēja: jebkurš klients, kas atbalsta HTTP un izprot
OData, var lietotODatapakalpojumus.
Cognite nodrošina uz aktīviem vērstu OData pakalpojumu un datu modelēšanas OData pakalpojumu. Abi pakalpojumi iekļauj standarta Cognite API, ieviešot OData Version 4 API tikai lasīšanas nolūkiem. Viņi pārvērš OData pieprasījumus atbilstošos Cognite API izsaukumos, ļaujot jums mijiedarboties ar CDF datiem un izmantot ar OData saderīgus klientus un rīkus.
OData pakalpojumu izmantošana
Lai mijiedarbotos ar Cognite OData pakalpojumiem, jūs iesniedzat HTTP GET pieprasījumu noteiktiem galapunktiem.
Autentifikācija
Lai autentificētos OData pakalpojumos, HTTP pieprasījumu autorizācijas galvenē ir jāiekļauj uzrādītāja marķieris.
Piemērs:
Authorization: Bearer {YourAccessToken}
Jūs varat iegūt piekļuves marķieri, izmantojot iestatīšanai atbilstošu autentifikācijas plūsmu (piemēram, OAuth 2.0, OpenID Connect). Plašāku informāciju skatiet autentifikācijas dokumentācijā.
Pieprasījumu iesniegšana
GET pieprasījuma piemērs
Lai izgūtu visus projekta materiālus:
GET https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets
Kur:
{cluster}
:CDFklastera nosaukums (piem., westeurope-1).{apiVersion}
:ODatapakalpojuma API versija (piemēram, v1).{project}
: jūsuCDFprojekta nosaukums.
Vaicājuma parametri
Izmantojiet vaicājuma parametrus, lai datus filtrētu, kārtotu, atlasītu un segmentētu.
-
Filtrēšana — izmantojiet
$filter
vaicājuma parametru, lai datus filtrētu.Piemērs: Izgūt materiālus, kur
Name
ir vienāds ar'Pump 1'
:GET .../Assets?$filter=Name eq 'Pump 1'
-
Lauku atlasīšana — izmantojiet
$select
vaicājuma parametru, lai izgūtu noteiktus laukus.Piemērs. Izgūt tikai
Id
unName
no aktīviem:GET .../Assets?$select=Id,Name
-
Kārtošana — rezultātu kārtošanai izmantojiet
$orderby
vaicājuma parametru.Piemērs. Sakārtot aktīvus pēc
Name
augošā secībā:GET .../Assets?$orderby=Name asc
-
Saistīto entītiju paplašināšana — izmantojiet
$expand
vaicājuma parametru, lai iekļautu saistītās entītijas. Piemērs. Izgūt aktīvu kopā ar aktīvu, no kā tas izcēlies:GET .../Assets(702630644612)/Parent?$expand=Parent
Piezīme. Ne visas entītijas un attiecības atbalsta paplašināšanos. Sīkāku informāciju skatiet attiecīgā pakalpojuma dokumentācijā.
-
*Vaicājuma parametru apvienošana — jūs varat apvienot vairākus vaicājuma parametrus, lai precizētu savu pieprasījumu.
Piemērs. Izgūt
Id
unName
no aktīviem, kurName
sākas ar'Pump'
, kas sakārtoti pēcName
, un izgūt pirmos 10 rezultātus:GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc&$top=10
Atbildes formāts
OData pakalpojumi atgriež atbildes JSON formātā, ievērojot OData V4 standartu.
Atbildes piemērs:
{
"@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
}
]
}
Atbilžu segmentēšana
OData pakalpojums var segmentēt atbildi lielām rezultātu kopām. Atbilde ietver @odata.nextLink
rekvizītu ar URL, lai izgūtu nākamo rezultātu lapu.
Piemērs:
{
"@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"
}
Ierobežojumi un atbalstītās funkcijas
OData pakalpojumu mērķis ir atbilst OData V4 standartam, taču dažas funkcijas var būt ierobežotas vai netikt atbalstītas ar Cognite API saistītu ierobežojumu dēļ.
Sīkāku informāciju par atbalstītajām funkcijām un ierobežojumiem skatiet attiecīgā pakalpojuma dokumentācijā.