Conector Firebase
Descripción General
Sección titulada «Descripción General»El conector Firebase permite escribir datos en Google Cloud Firestore, una base de datos NoSQL en la nube flexible y escalable para desarrollo móvil, web y de servidor.
Tipos de Conector:
FirebaseWriter- Escribe documentos en colecciones de Firestore
Firebase Writer
Sección titulada «Firebase Writer»Escribe datos en una colección de Firestore:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "base64", "data": "<base64-encoded-service-account-json>" }, "projectId": "my-firebase-project", "collection": "sensor_readings" }}Con Base de Datos Personalizada
Sección titulada «Con Base de Datos Personalizada»Conéctate a una base de datos Firestore específica (para proyectos multi-base de datos):
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "path", "data": "/path/to/service-account.json" }, "projectId": "my-firebase-project", "databaseName": "production-db", "collection": "iot_events" }}Parámetros de Configuración
Sección titulada «Parámetros de Configuración»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
credentialsFile | EncodedFile | ✅ | Archivo de credenciales de cuenta de servicio |
projectId | string | ✅ | ID del proyecto Firebase/GCP |
collection | string | ✅ | Nombre de la colección Firestore |
databaseName | string | ❌ | Nombre de base de datos Firestore (para proyectos multi-base de datos) |
Formato del Archivo de Credenciales
Sección titulada «Formato del Archivo de Credenciales»El parámetro credentialsFile soporta dos modos:
Codificación Base64
Sección titulada «Codificación Base64»{ "credentialsFile": { "mode": "base64", "data": "eyJ0eXBlIjoic2VydmljZV9hY2NvdW50Ii..." }}Ruta de Archivo
Sección titulada «Ruta de Archivo»{ "credentialsFile": { "mode": "path", "data": "/etc/meddle/firebase-credentials.json" }}Configuración de Cuenta de Servicio
Sección titulada «Configuración de Cuenta de Servicio»- Ve a la Consola de Firebase
- Selecciona tu proyecto → Configuración del Proyecto → Cuentas de Servicio
- Haz clic en “Generar nueva clave privada”
- Descarga el archivo JSON
- Usa la ruta del archivo o codifica el contenido en base64
Formato de Datos
Sección titulada «Formato de Datos»Cada payload de datos se agrega como un nuevo documento en la colección especificada:
{ "temperature": 25.5, "pressure": 101.3, "humidity": 60, "timestamp": 1234567890}Firestore genera automáticamente un ID de documento único para cada entrada.
Casos de Uso Comunes
Sección titulada «Casos de Uso Comunes»1. Datos de Sensores IoT
Sección titulada «1. Datos de Sensores IoT»Almacena lecturas de sensores en Firestore:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "path", "data": "/config/firebase-sa.json" }, "projectId": "iot-monitoring", "collection": "sensor_data" }}2. Registro de Eventos
Sección titulada «2. Registro de Eventos»Registra eventos del sistema en Firestore:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "base64", "data": "<credentials>" }, "projectId": "event-tracker", "collection": "system_events" }}3. Arquitectura Multi-Base de Datos
Sección titulada «3. Arquitectura Multi-Base de Datos»Escribe en una base de datos específica en un proyecto multi-base de datos:
{ "type": "FirebaseWriter", "config": { "credentialsFile": { "mode": "path", "data": "/config/firebase-sa.json" }, "projectId": "enterprise-app", "databaseName": "analytics-db", "collection": "metrics" }}Solución de Problemas
Sección titulada «Solución de Problemas»Inicialización Fallida
Sección titulada «Inicialización Fallida»Soluciones:
- Verifica que el archivo de credenciales sea JSON válido
- Comprueba que el ID del proyecto coincida con tu proyecto Firebase
- Asegúrate de que la cuenta de servicio tenga permisos de Firestore
- Verifica la codificación base64 si usas modo base64
Escritura Fallida
Sección titulada «Escritura Fallida»Soluciones:
- Comprueba que el nombre de la colección sea válido
- Verifica que las reglas de seguridad de Firestore permitan escrituras
- Asegúrate de que la cuenta de servicio tenga el rol
datastore.user - Comprueba cuotas y límites de Firestore
Error de Conexión del Cliente
Sección titulada «Error de Conexión del Cliente»Soluciones:
- Verifica la conectividad de red hacia Google Cloud
- Comprueba que el firewall permita HTTPS saliente (puerto 443)
- Asegúrate de que las credenciales no hayan expirado o sido revocadas
Mejores Prácticas
Sección titulada «Mejores Prácticas»- Usa Cuentas de Servicio: Nunca uses credenciales de usuario en producción
- Limita los Permisos: Otorga solo los permisos de Firestore necesarios
- Organiza las Colecciones: Usa nombres de colección significativos con jerarquía clara
- Monitorea el Uso: Rastrea operaciones de lectura/escritura de Firestore para gestión de costos
- Protege las Credenciales: Almacena las credenciales de forma segura, nunca las commits al control de versiones