Servicios Cognite OData
Cognite proporciona servicios OData para obtener datos de Cognite Data Fusion (CDF) utilizando clientes OData como Microsoft Power BI, Microsoft Excel y TIBCO Spotfire.
Open Data Protocol (OData) es un estándar abierto que define buenas prácticas para crear y consumir API RESTful. OData ofrece:
-
Sintaxis de consulta estandarizada: Permite filtrado, ordenación, paginación y proyecciones consistentes entre diferentes fuentes de datos.
-
Compatibilidad con metadatos: Los clientes pueden descubrir la estructura y los tipos de datos a través de documentos de metadatos.
-
Interoperabilidad: Cualquier cliente que admita HTTP y comprenda
ODatapuede consumir serviciosOData.
Cognite proporciona un servicio centrado en activos OData y un servicio de modelado de datosOData. Ambos servicios envuelven las API estándar de Cognite e implementan una OData Version 4 API para fines de solo lectura. Traducen las solicitudes OData en llamadas correspondientes a la Cognite API, lo que le permite interactuar con datos CDF mediante herramientas y clientes compatibles con OData.
Uso de los servicios OData
Para interactuar con los servicios OData de Cognite, debe realizar solicitudes HTTP GET a puntos de conexión específicos.
Autenticación
Para autenticarse con los servicios OData, debe incluir un token de portador en el encabezado de autorización de sus solicitudes HTTP.
Por ejemplo:
Authorization: Bearer {YourAccessToken}
Puede obtener un token de acceso mediante el flujo de autenticación adecuado para su configuración (por ejemplo, OAuth 2.0, OpenID Connect). Para obtener más detalles, consulte la Documentación de autenticación.
Hacer solicitudes
Ejemplo de solicitud GET
Para recuperar todos los activos de un proyecto:
GET https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets
Donde:
{cluster}
: El nombre del clústerCDF(por ejemplo, westeurope-1).{apiVersion}
: La versión de la API del servicioOData(por ejemplo, v1).{project}
: El nombre de su proyectoCDF.
Parámetros de consulta
Use parámetros de consulta para filtrar, ordenar, seleccionar y paginar datos.
-
Filtrado: use el parámetro de consulta
$filter
para filtrar datos.Ejemplo: Recuperar activos donde
Name
es igual a'Pump 1'
:GET .../Assets?$filter=Name eq 'Pump 1'
-
Selección de campos: use el parámetro de consulta
$select
para recuperar campos específicos.Ejemplo: Recuperar solo el
Id
y elName
de los activos:GET .../Assets?$select=Id,Name
-
Clasificación: use el parámetro de consulta
$orderby
para ordenar los resultados.Ejemplo: Ordenar activos por
Name
en orden ascendente:GET .../Assets?$orderby=Name asc
-
Expansión de entidades relacionadas: use el parámetro de consulta
$expand
para incluir entidades relacionadas. Ejemplo: Recuperar un activo junto con su elemento principal:GET .../Assets(702630644612)/Parent?$expand=Parent
Nota: No todas las entidades y relaciones admiten la expansión. Consulte la documentación de cada servicio para obtener más detalles.
-
Combinación de parámetros de consulta: puede combinar varios parámetros de consulta para refinar su solicitud.
Ejemplo: Recuperar
Id
yName
de los activos dondeName
comienza con'Pump'
, ordenados porName
, y recuperar los primeros 10 resultados:GET .../Assets?$filter=startswith(Name,'Pump')&$select=Id,Name&$orderby=Name asc&$top=10
Formato de respuesta
Los servicios OData devuelven respuestas en formato JSON, siguiendo el estándar OData V4.
Respuesta de ejemplo:
{
"@odata.context": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/$metadata#Assets/",
"value": [
{
"Id": "12345",
"DataSetId": null,
"ExternalId": "WMT:VAL",
"Name": "Pump 1",
"Description": "Main pump"
// other properties
}
]
}
Paginación en respuestas
Si los conjuntos de resultados son grandes, el servicio OData puede paginar la respuesta. La respuesta incluye una propiedad @odata.nextLink
con una URL para recuperar la siguiente página de resultados.
Ejemplo:
{
"@odata.context": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/$metadata#Assets",
"value": [ // records ],
"@odata.nextLink": "https://{cluster}.cognitedata.com/odata/{apiVersion}/projects/{project}/Assets?$skipToken=123"
}
Limitaciones y funciones admitidas
Los servicios OData procuran cumplir con el estándar OData V4, pero algunas funciones pueden estar limitadas o no ser compatibles debido a las restricciones subyacentes de las API Cognite.
Consulte la documentación de cada servicio para obtener información detallada sobre las funciones admitidas y las limitaciones.