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 queAssets,TimeSeries,Events, etc.{Filter}
: l’expression du filtreOData.
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éviewdans votre modèle de données.{Filter}
: l’expression du filtreOData.
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
- Utiliser des outils indépendants : Des outils tels que Fiddler vous permettent d’inspecter le trafic HTTP entre votre client et le serveur.
- Vérifier la syntaxe du filtre : Assurez-vous que vos filtres sont définis conformément à la spécification
OData. - Examiner les filtres pris en charge : Voir Filtrage des éléments dans les modèles de données et Filtrage des types de ressources axés sur les actifs pour connaître les capacités de filtrage prises en charge par les services
OData.
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.