Personalizar consultas do OData
Tanto o serviço do OData centrado em ativos quanto o serviço de modelagem de dados do OData oferecem suporte a consultas personalizadas para filtrar propriedades e recuperar conjuntos de dados específicos.
Personalizar URLs de consultas
Exemplo de serviço do OData centrado em ativos
Para filtrar por uma propriedade do tipo de recurso:
GET .../{resourceType}/?$filter={Filter}
Onde:
{resourceType}
: um tipo de recurso, comoAssets,TimeSeries,Events, etc.{Filter}
: a expressão do filtro doOData.
Exemplo de serviço do OData de modelagem de dados
Para filtrar por uma propriedade de view em um modelo de dados:
GET .../{view}/?$filter={Filter}
Onde:
{view}
: o nome deviewno seu modelo de dados.{Filter}
: a expressão do filtro doOData.
Exemplos de consulta personalizada
Filtro de igualdade simples
Um filtro de igualdade usa o formato AttributeName eq 'AttributeValue'
:
GET .../Assets?$filter=Name eq '23-TE-96116-04'
Filtragem de modelagem de dados
Um filtro aplicado diretamente a uma propriedade de view de modelo de dados:
GET .../City?$filter=iso2 eq 'MX'
Filtragem de metadados
Para metadados, a filtragem é executada em propriedades aninhadas dentro do objeto de metadados:
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 funções em filtros
O OData e compatível com funções como startswith
, endswith
e contains
.
Por exemplo, para filtrar séries temporais em que ExternalId
começa com 'Sensor'
:
GET .../TimeSeries?$filter=startswith(ExternalId,'Sensor')
Observação: nem todas as funções são compatíveis com envio para CDF. Verifique as competências de filtragem do tipo específico de recurso.
Combinação de vários parâmetros de consulta
Você pode combinar várias opções de consulta para refinar a recuperação de dados.
Por exemplo, para recuperar ativos em que Name
começa com 'Pump'
, selecione apenas Id
e Name
, e classifique por Name
:
GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc
Depuração de consultas personalizadas
- Use ferramentas separadas: ferramentas como o Fiddler permitem que você inspecione o tráfego de HTTP entre o seu cliente e o servidor.
- Verifique a sintaxe do filtro: garanta que seus filtros estejam corretamente formatados de acordo com a especificação do
OData. - Revise os filtros compatíveis: consulte Filtrar itens nos modelos de dados e Filtragem de tipos de recursos centrados em ativos para saber sobre as competências de filtragem compatíveis com os serviços do
OData.
Limitações
Nem todas as funções e funcionalidades de OData são compatíveis. Para obter informações detalhadas sobre as funcionalidades compatíveis e limitações, consulte a documentação do serviço individual.