Cloud Functions brinda a los desarrolladores acceso a eventos de Firebase y Google Cloud, junto con potencia informática escalable para ejecutar código en respuesta a esos eventos. Si bien se espera que las aplicaciones de Firebase utilicen Cloud Functions de maneras únicas para cumplir con sus requisitos únicos, los casos de uso típicos pueden caer en estas áreas:
- Notificar a los usuarios cuando suceda algo interesante .
- Realizar la sanitización y mantenimiento de la base de datos .
- Ejecute tareas intensivas en la nube en lugar de en su aplicación .
- Integre con servicios y API de terceros .
Revise los casos de uso y ejemplos para cada categoría que le interese y luego continúe con nuestro tutorial de introducción o con guías prácticas específicas para eventos de autenticación , eventos de análisis y más.
Notificar a los usuarios cuando suceda algo interesante.
Los desarrolladores pueden utilizar Cloud Functions para mantener a los usuarios interesados y actualizados con información relevante sobre una aplicación. Considere, por ejemplo, una aplicación que permita a los usuarios seguir las actividades de los demás en la aplicación. Cada vez que un usuario se agrega como seguidor de otro usuario, se produce una escritura en la base de datos en tiempo real. Luego, este evento de escritura podría activar una función para crear notificaciones de Firebase Cloud Messaging (FCM) para informar a los usuarios adecuados que han obtenido nuevos seguidores.
- La función se activa al escribir en la ruta de la base de datos en tiempo real donde se almacenan los seguidores.
- La función redacta un mensaje para enviar a través de FCM .
- FCM envía el mensaje de notificación al dispositivo del usuario.
Para revisar el código de trabajo, consulte el código de muestra en GitHub:
- Node.js: notificaciones fcm
- Python: notificaciones fcm
Otros casos de uso de notificaciones interesantes
- Enviar correos electrónicos de confirmación a los usuarios que se suscriben a un boletín.
- Envíe un correo electrónico de bienvenida cuando un usuario complete el registro.
- Envíe una confirmación por SMS cuando un usuario cree una nueva cuenta.
Realizar la desinfección y mantenimiento de la base de datos.
Con el manejo de eventos de la base de datos de Cloud Functions, puede modificar Realtime Database o Cloud Firestore en respuesta al comportamiento del usuario, manteniendo el sistema en el estado deseado. Por ejemplo, puede monitorear eventos de escritura y cambiar el formato (por ejemplo, cambiar a mayúsculas) de ciertas cadenas en los mensajes de los usuarios. Así es como podría funcionar:
- El controlador de eventos de la base de datos de la función escucha eventos de escritura en una ruta específica y recupera datos de eventos que contienen el texto de un mensaje.
- La función procesa el texto para cambiar las cadenas a mayúsculas.
- La función escribe el texto actualizado en la base de datos.
Para revisar el código de trabajo, consulte el código de muestra en GitHub:
- Node.js: mayúsculas-rtdb
- Python: mayúsculas-rtdb
Otros casos de uso de mantenimiento y desinfección de bases de datos
- Purgue el contenido de un usuario eliminado de Realtime Database.
- Limite la cantidad de nodos secundarios en una base de datos de Firebase.
- Realice un seguimiento del número de elementos en una lista de bases de datos en tiempo real.
- Copie datos de Realtime Database a Google Cloud BigQuery.
- Convierte texto a emoji.
- Administre metadatos calculados para registros de bases de datos.
Ejecute tareas intensivas en la nube en lugar de en su aplicación
Puede aprovechar Cloud Functions para descargar a la nube de Google el trabajo que requiere muchos recursos (CPU o redes pesadas) en lugar de ejecutarlo en el dispositivo de un usuario, mejorando la capacidad de respuesta de su aplicación. Por ejemplo, podría escribir una función para escuchar las cargas de imágenes en Cloud Storage, descargar la imagen a la instancia que ejecuta la función, modificarla y volver a cargarla en Cloud Storage. Sus modificaciones podrían incluir cambiar el tamaño, recortar o convertir imágenes con herramientas como Sharp o Pillow .
- Una función se activa cuando se carga un archivo de imagen en Cloud Storage.
- La función descarga la imagen y crea una versión en miniatura de la misma.
- La función escribe esa ubicación en miniatura en la base de datos, para que una aplicación cliente pueda encontrarla y usarla.
- La función carga la miniatura nuevamente en Cloud Storage en una nueva ubicación.
- La aplicación descarga el enlace en miniatura.
Para ver un tutorial de un ejemplo de procesamiento de imágenes, consulta la guía para manejar eventos de Cloud Storage .
Otros ejemplos de trabajos por lotes en la nube de Firebase
- Elimine periódicamente las cuentas de Firebase no utilizadas Node.js | Pitón .
- Realizar una copia de seguridad automática de las imágenes cargadas Node.js | Pitón .
- Envíe correos electrónicos masivos a los usuarios.
- Agregar y resumir datos periódicamente.
- Procesar una cola de trabajos pendientes.
Integre con servicios y API de terceros
Cloud Functions puede ayudar a que su aplicación funcione mejor con otros servicios llamando y exponiendo API web. Por ejemplo, una aplicación utilizada para colaborar en el desarrollo podría publicar confirmaciones de GitHub en una sala de chat de un grupo de trabajo.
- Un usuario envía confirmaciones a un repositorio de GitHub.
- Una función HTTPS se activa a través de la API del webhook de GitHub .
- La función envía una notificación del compromiso a un canal de Slack del equipo.
Otras formas de integrarse con servicios y API de terceros
- Utilice la API de Google Cloud Vision para analizar y etiquetar las imágenes cargadas.
- Traduce mensajes usando Google Translate.
- Utilice autenticación personalizada para iniciar sesión en los usuarios.
- Envíe una solicitud a un webhook en escrituras de bases de datos en tiempo real.
- Habilite la búsqueda de texto completo en elementos de la base de datos en tiempo real.
- Procesar pagos de los usuarios.
- Cree respuestas automáticas a llamadas telefónicas y mensajes SMS.
- Crea un chatbot con el Asistente de Google.