Saltar al contenido principal

Consultas OData personalizadas

Tanto el servicio centrado en activos OData como el servicio de modelado de datos OData admiten consultas personalizadas para filtrar propiedades y recuperar conjuntos de datos específicos.

URL de consulta personalizadas

Ejemplo de servicio OData centrado en activos

Para filtrar una propiedad de tipo de recurso:

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

Donde:

  • {resourceType}: un tipo de recurso, como Assets, TimeSeries, Events, etc.
  • {Filter}: la expresión de filtro OData.

Ejemplo de servicio OData de modelado de datos

Para filtrar una propiedad view en un modelo de datos:

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

Donde:

  • {view}: el nombre de view en su modelo de datos.
  • {Filter}: la expresión de filtro OData.

Ejemplos de consultas personalizadas

Filtro de igualdad simple

Un filtro de igualdad utiliza el formato AttributeName eq 'AttributeValue':

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

Filtrado de modelado de datos

Un filtro aplicado directamente a una propiedad de un modelo de datos view:

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

Filtrado de metadatos

En el caso de los metadatos, el filtrado se realiza en propiedades anidadas dentro del objeto de metadatos.

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

Filtro combinado

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

Uso de funciones en filtros

OData admite funciones como startswith, endswith y contains.

Por ejemplo, para filtrar las series cronológicas en las que el ExternalId comienza con 'Sensor':

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

Nota: No todas las funciones admiten la delegación a CDF. Verifique las capacidades de filtrado del tipo de recurso específico.

Combinación de múltiples parámetros de consulta

Puede combinar múltiples opciones de consulta para refinar la recuperación de datos.

Por ejemplo, para recuperar activos donde Name comienza con 'Pump', seleccione solo Id y Name, y ordene por Name:

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

Depuración de consultas personalizadas

  • Utilice herramientas independientes: Herramientas como Fiddler le permiten inspeccionar el tráfico HTTP entre su cliente y el servidor.
  • Verifique la sintaxis del filtro: Asegúrese de que sus filtros tengan el formato correcto de acuerdo con la especificación OData.
  • Revise los filtros compatibles: Consulte Filtrar elementos en modelos de datos y Filtrar tipos de recursos centrados en activos para obtener más información sobre las funciones de filtrado que admiten los servicios OData.

Limitaciones

No todas las funciones y características de OData son compatibles. Para obtener información detallada sobre las características compatibles y las limitaciones, consulte la documentación de cada servicio individual .