Zum Hauptinhalt wechseln

Angepasste OData-Abfragen

Der anlagenbezogene OData-Service wie auch der OData-Service für die Datenmodellierung unterstützt angepasste Abfragen für das Filtern und Abrufen von spezifischen Datensätzen.

URLs für angepasste Abfragen

Beispiel für den anlagenbezogenen OData-Service

Nach einer Ressourcentypeigenschaft filtern:

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

Mit:

  • {resourceType}: Ein Ressourcentyp wie Assets, TimeSeries, Events usw.
  • {Filter}: Der OData-Filterausdruck.

Beispiel für den OData-Service für die Datenmodellierung

Nach einer view-Eigenschaft in einem Datenmodell filtern:

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

Mit:

  • {view}: Der Name von view in Ihrem Datenmodell.
  • {Filter}: Der OData-Filterausdruck.

Beispiele für angepasste Abfragen

Einfacher Gleichheitsfilter

Ein Gleichheitsfilter verwendet das Format AttributeName eq 'AttributeValue':

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

Filtern von Datenmodellierungen

Ein Filter, der direkt auf eine Eigenschaft eines view-Datenmodells angewandt wird:

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

Metadaten-Filterung

Bei Metadaten erfolgt das Filtern basierend auf Eigenschaften, die im Metadaten-Objekt verschachtelt sind:

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

Kombinierte Filter

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

Funktionen in Filtern verwenden

OData unterstützt Funktionen wie startswith, endswith und contains.

Genutzt wird dies zum Beispiel zum Filtern von Zeitreihen, bei denen ExternalId mit 'Sensor' beginnt:

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

Hinweis: Nicht alle Funktionen werden bei der Weiterleitung zu CDF unterstützt. Überprüfen Sie die Filterfunktionen des spezifischen Ressourcentyps.

Mehrere Abfrageparameter kombinieren

Sie können mehrere Abfrageoptionen kombinieren, um den Datenabruf zu verfeinern.

So können Sie beispielsweise Anlagenteile abrufen, bei denen Name mit 'Pump' beginnt, nur Id und Name auswählen und nach Name sortieren:

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

Fehler bei angepassten Abfragen beheben

  • Einsatz separater Tools: Mit Tools wie Fiddler können Sie den HTTP-Traffic zwischen Ihrem Client und dem Server überprüfen.
  • Überprüfung der Filtersyntax: Achten Sie darauf, dass Ihre Filter korrekt im Einklang mit der OData-Spezifikation formatiert sind.
  • Überprüfung der unterstützten Filter: Siehe Elemente in Datenmodellen filtern and Anlagenbezogene Ressourcentypen filtern, um mehr über die von den OData-Services unterstützten Filterfunktionen zu erfahren.

Einschränkungen

Nicht alle OData-Funktionen und -Merkmale werden unterstützt. Für detaillierte Informationen über unterstützte Merkmale und Einschränkungen siehe die entsprechende Service-Dokumentation.