Hoppa till huvudinnehållet

Anpassade OData-frågor

Både asset-centric OData-tjänsten och OData-tjänsten för datamodellering stöder anpassade frågor för filtrering av egenskaper och hämtning av specifika datamängder.

URL:er för anpassad fråga

Exempel på tillgångscentrerad OData Service

Så här filtrerar du på en resurstypsegenskap:

GET .../{resourceType}/?$filter={Filter}

Där:

  • {resourceType}: en resurstyp som Assets, TimeSeries, Events etc.
  • {Filter}: OData-filteruttryck.

Exempel på OData Service för datamodellering

Så här filtrerar du på en view-egenskap i en datamodell:

GET .../{view}/?$filter={Filter}

Där:

  • {view}: namnet view i din datamodell.
  • {Filter}: OData-filteruttryck.

Exempel på anpassad fråga

Enkelt jämlikhetsfilter

Ett jämlikhetsfilter använder formatet AttributeName eq 'AttributeValue':

GET .../Assets?$filter=Name eq '23-TE-96116-04'

Datamodellsfiltrering

Ett filter som tillämpas direkt på en egenskap för en datamodell view:

GET .../City?$filter=iso2 eq 'MX'

Metadatafiltrering

För metadata sker filtrering i egenskaper som är kapslade inuti metadataobjekt:

GET .../Assets?$filter=MetaData/RES_ID eq '525283'

Kombinerat filter

GET .../Assets?$filter=MetaData/RES_ID eq '525283' and Name eq '23-TE-96116-04'

Använda funktioner i filter

OData stöder funktioner som startswith, endswith och contains.

Till exempel för att filtrera tidsserien där ExternalId börjar med 'Sensor':

GET .../TimeSeries?$filter=startswith(ExternalId,'Sensor')

Obs! Vissa funktioner stöds inte för pushdown till CDF. Kontrollera filtreringsmöjligheterna för den specifika resurstypen.

Kombinera flera frågeparametrar

Du kan kombinera flera frågealternativ för att förfina din datahämtning.

Om du t.ex. vill hämta tillgångar där Name börjar med 'Pump', väljer du bara Id och Name och ordnar efter Name:

GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc

Felsöka anpassade frågor

  • Använd separata verktyg: Med verktyg som Fiddler kan du inspektera HTTP-trafiken mellan din klient och servern.
  • Kontrollera filtersyntaxen: Kontrollera att dina filter är rätt formaterade enligt specifikationen OData.
  • Granska filter som stöds: Se Filtrera objekt i datamodeller och Filtrera asset-centric-resurstyper för att se vilka filtreringsmöjligheter som stöds av OData-tjänsterna.

Begränsningar

Vissa funktioner och egenskaper för OData stöds inte. Detaljerad information om funktioner som stöds samt begränsningar finns i separat servicedokumentation.