Integración de Datos
Descripción General
Las APIs de Integración de Datos constan de tres componentes principales: Databinder para la gestión de fuentes de datos externas, Linker para coordinar múltiples fuentes de datos, Gestión de ámbitos para el control de acceso, y Proxy de Grafana para la integración de dashboards.
Databinder
Resumen de Endpoints
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /ds | Listar fuentes de datos del usuario |
| GET | /ds/:id | Obtener fuente de datos específica |
| POST | /ds | Crear nueva fuente de datos |
| PATCH | /ds/:id | Actualizar fuente de datos |
| DELETE | /ds/:id | Eliminar fuente de datos |
| POST | /ds/:id/test | Probar conexión de fuente de datos |
| POST | /ds/:id/fetch | Obtener datos de la fuente de datos |
| GET | /ds/:id/methods | Listar métodos disponibles |
| GET | /ds/:id/methods/:methodName | Obtener detalles del método |
| GET | /ds/:id/methods/all | Obtener detalles de todos los métodos |
| GET | /definitions/available | Listar tipos de fuentes de datos disponibles |
Características Clave de Databinder
Tipos de Fuentes de Datos Soportados:
rest-api- Integración genérica con API REST con varios métodos de autenticación (bearer, basic, cookie, headers personalizados)microsoft-graph- API de Microsoft Graph para integración con Office 365owncloud- Integración con almacenamiento de archivos OwnCloud
Capacidades de Obtención de Datos:
- Mapeo de propiedades para transformación de datos
- Soporte de paginación
- Múltiples formatos de respuesta (full, batch, iterator, stream)
- Filtrado y ordenamiento avanzado
- Sobrescritura de autenticación por solicitud
Ejemplos de Creación de Fuentes de Datos
API REST con Autenticación Bearer
POST /ds
Cuerpo de la Solicitud:
{
"name": "API Externa con Autenticación",
"definitionId": "rest-api",
"config": {
"baseUrl": "https://api.example.com",
"defaultEndpoint": "/data",
"auth": {
"type": "bearer",
"token": "your-api-token"
},
"timeout": 10000,
"headers": {
"Accept": "application/json",
"User-Agent": "MyApp/1.0"
}
},
"description": "API REST externa con autenticación",
"environment": "production"
}
Respuesta (200 OK):
{
"message": "Datasource created successfully",
"instanceId": "123_external_api_1634567890123",
"availableMethods": ["getAll", "getById", "create", "update", "delete", "default"],
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "API Externa con Autenticación",
"definitionId": "rest-api",
"config": {
"baseUrl": "https://api.example.com",
"defaultEndpoint": "/data"
}
}
✅ 201 Creado - Fuente de Datos Creada Exitosamente
-
Content-Type:
application/json -
Descripción: Fuente de datos creada con métodos disponibles
-
Ejemplo:
{
"message": "Fuente de datos creada exitosamente",
"instanceId": "123_api_externa_1634567890123",
"availableMethods": ["getAll", "getById", "create", "update", "delete", "default"],
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "API Externa con Autenticación",
"definitionId": "rest-api",
"config": {
"baseUrl": "https://api.example.com",
"defaultEndpoint": "/data"
}
}
❌ 400 Solicitud Incorrecta - Definición Inválida
-
Content-Type:
application/json -
Descripción: DefinitionId inválido
-
Ejemplo:
{
"error": "DefinitionId inválido 'tipo-invalido'. Tipos disponibles: rest-api, microsoft-graph"
}