Konfigurácia OData API

Konfigurácia OData API

OData API sprístupňuje archívne dáta D2000 a dáta EDA vektorov ako entitné množiny OData 4.0. OData klienti (Power BI, Excel, vlastné integrácie) môžu dáta dopytovať pomocou štandardných query volieb $filter, $select, $orderby a $top. Implementácia je postavená na Apache Olingo.

Endpointy

OData služba je vystavená na /api/odata a je zabezpečená rovnako ako server-to-server REST API (API kľúč, JWT bearer alebo Basic auth).

Metóda

Cesta

Popis

Metóda

Cesta

Popis

GET

/api/odata/

Service document — zoznam dostupných entitných množín

GET

/api/odata/$metadata

Plná CSDL XML schéma

GET

/api/odata/ArchiveValues

Archívne dáta

GET

/api/odata/EdaVectorValues

Dáta EDA vektorov

Service document vrátený na koreňovej ceste:

{ "@odata.context": "$metadata", "value": [ { "name": "ArchiveValues", "url": "ArchiveValues" }, { "name": "EdaVectorValues", "url": "EdaVectorValues" } ] }

Dopytovanie archívnych dát

GET /api/odata/ArchiveValues ?$filter=archiveName eq 'AR.Temperature' and timestamp ge 2026-01-01T00:00:00Z and timestamp le 2026-01-02T00:00:00Z &$select=timestamp,value,status &$top=1000 &$orderby=timestamp asc

Príklad odpovede:

{ "@odata.context": "$metadata#ArchiveValues", "value": [ { "timestamp": "2026-01-01T00:00:00Z", "value": 23.5, "status": { "alarmActive": false, "limitHigh": false } } ] }

Dopytovanie dát EDA vektorov

GET /api/odata/EdaVectorValues ?$filter=vectorCode eq 'EDA_ENERGY_METER_01' and timestamp ge 2026-01-01T00:00:00Z and timestamp le 2026-01-31T23:59:59Z &$select=timestamp,value,status

Autentifikácia

OData endpoint vyžaduje rovnakú autentifikáciu ako server-to-server REST API. Pošlite API kľúč, JWT bearer token alebo Basic autentifikáciu:

curl -H "X-API-Key: my-secret-api-key" \ "https://smartweb.example.com/api/odata/ArchiveValues?\$top=10"

Konfigurácia

Žiadna konfigurácia špecifická pre OData nie je potrebná — OData rozhranie je súčasťou štandardného smartweb.jar a sprístupní sa automaticky. Riadenie prístupu zabezpečuje autentifikačná vrstva SmartWebu a prístupový filter REST API (viď Konfigurácia univerzálneho API rozhrania). Aby ste mohli OData používať, uistite sa, že:

  1. Je povolený aspoň jeden mechanizmus server-to-server autentifikácie — API kľúč, OAuth2 JWT alebo Basic auth (viď Konfigurácia autentifikácie).

  2. Je nakonfigurované pripojenie na D2000 (viď Konfigurácia konekcie na D2000) pre archívne dáta a EDA pripojenie (viď Konfigurácia konekcie na EDA Server) pre dáta EDA vektorov.

smartweb: connections: - host: d2server.example.com port: 3120 edaConnection: connectionMode: DIRECT connections: - host: eda-server.example.com port: 3130 authentication: authModes: - AUTH_CREDENTIALS_IN_SESSION apiKeys: enabled: true