Vai al contenuto principale

Query OData personalizzate

Il servizio OData asset-centric e il servizio OData di modellazione dei dati supportano entrambi le query personalizzate per filtrare le proprietà e recuperare set di dati specifici.

URL di query personalizzate

Esempio di servizio OData asset-centric

Per filtrare in base alla proprietà di un tipo di risorsa:

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

Dove:

  • {resourceType}: un tipo di risorsa, ad esempio Assets, TimeSeries, Events e così via.
  • {Filter}: l'espressione di filtro OData.

Esempio di servizio OData di modellazione dei dati

Per filtrare in base a una proprietà view in un modello di dati:

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

Dove:

  • {view}: il nome della view nel modello di dati.
  • {Filter}: l'espressione di filtro OData.

Esempi di query personalizzate

Filtro di uguaglianza semplice

Un filtro di uguaglianza utilizza il formato AttributeName eq 'AttributeValue':

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

Filtro di modellazione dei dati

Un filtro applicato direttamente a una proprietà di un modello di dati view:

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

Filtro di metadati

Per i metadati, il filtro viene eseguito in base alle proprietà annidate all'interno dell'oggetto metadati:

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

Filtro combinato

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

Utilizzo di funzioni nei filtri

OData supporta funzioni come startswith, endswith e contains.

Ad esempio, per filtrare le serie temporali dove ExternalId inizia con 'Sensor':

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

Nota: Non tutte le funzioni sono supportate per il pushdown in CDF. Verificare le funzionalità di filtro del tipo di risorsa specifico.

Combinazione di più parametri di query

È possibile combinare più opzioni di query per ottimizzare il recupero dei dati.

Ad esempio, per recuperare asset in cui Name inizia con 'Pump', selezionare solo Id e Name, quindi ordinare in base a Name:

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

Debug di query personalizzate

  • Utilizzare strumenti separati: Strumenti come Fiddler consentono di ispezionare il traffico HTTP tra il client e il server.
  • Verificare la sintassi del filtro: Assicurarsi che i filtri siano formattati correttamente in base alla specifica OData.
  • Rivedere i filtri supportati: Vedere Filtro di elementi nei modelli di dati e Filtro di tipi di risorsa asset-centric per ulteriori informazioni sulle funzionalità di filtro supportate dai servizi OData.

Limitazioni

Non tutte le funzionalità e le funzioni OData sono supportate. Per informazioni dettagliate sulle limitazioni e le funzionalità supportate, vedere la documentazione del servizio.