Passer au contenu principal

Requêtes OData personnalisées

Le service OData axé sur les actifs et le service OData de modélisation des données prennent en charge les requêtes personnalisées pour filtrer les propriétés et récupérer des jeux de données spécifiques.

URL des requêtes personnalisées

Exemple de service OData axé sur les actifs (asset-centric)

Pour filtrer en fonction de la propriété d’un type de ressource :

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

Où :

  • {resourceType} : un type de ressource, tel que Assets, TimeSeries, Events, etc.
  • {Filter} : l’expression du filtre OData.

Exemple de service OData de modélisation des données

Pour filtrer en fonction d’une propriété view dans un modèle de données :

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

Où :

  • {view} : le nom de la propriété view dans votre modèle de données.
  • {Filter} : l’expression du filtre OData.

Exemples de requêtes personnalisées

Filtre d’égalité simple

Un filtre d’égalité utilise le format AttributeName eq 'AttributeValue' :

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

Filtrage de la modélisation des données

Un filtre est appliqué directement à une propriété d’un modèle de données view :

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

Filtrage des métadonnées

Pour les métadonnées, le filtrage est appliqué aux propriétés imbriquées dans l’objet des métadonnées :

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

Filtre combiné

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

Utilisation de fonctions dans les filtres

OData prend en charge les fonctions comme startswith, endswith et contains.

Pour filtrer, par exemple, des séries temporelles où ExternalId commence par 'Sensor' :

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

Remarque : Les fonctions ne sont pas toutes compatibles avec l’envoi automatique d’informations vers CDF. Vérifiez les capacités de filtrage du type de ressource spécifique.

Combinaison de divers paramètres de requête

Il est possible de combiner plusieurs options de requête pour affiner la récupération des données.

Pour récupérer, par exemple, des actifs où Name commence par 'Pump', sélectionnez uniquement Id et Name, et faites un tri par Name :

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

Débogage des requêtes personnalisées

Limitations

Les fonctions OData ne sont pas toutes prises en charge. Pour obtenir des informations détaillées au sujet des fonctions prises en charge et des limitations qui s’y appliquent, reportez-vous à la documentation de chaque service.