Firebase Cloud Functions
Esta guía te muestra cómo trabajar con Google Cloud Firebase Functions localmente usando el Firebase Emulator Suite. Este lab demuestra una función HTTPS síncrona que recupera un secreto de Secret Manager basándose en el nombre de usuario.
Prerrequisitos
Sección titulada «Prerrequisitos»- Docker instalado y en ejecución.
- Dev Containers extension instalada (opcional).
Cómo ejecutar
Sección titulada «Cómo ejecutar»-
Configurar el entorno:
Abre VS Code en la carpeta del proyecto y ejecuta este comando en la Paleta de Comandos:
Ventana de terminal > Dev Containers: Reopen in ContainerEjecuta el script de configuración para instalar herramientas y dependencias:
Ventana de terminal scripts/setup.sh -
Iniciar los emuladores de Firebase:
Ventana de terminal firebase emulators:start -
Ejecutar el ejemplo:
Ventana de terminal python main.pyVentana de terminal curl "http://localhost:5001/demo-mve-firebase-functions/us-central1/get_secret?username=admin"- Instala: REST Client desde el Marketplace de VS Code.
- Abre: Abre
http/get_secret.httpen VS Code. - Ejecuta: Haz clic en Send Request encima de cualquier bloque de petición.
Cómo depurar
Sección titulada «Cómo depurar»-
Cloud Function:
- Asegúrate: Detén el emulador de Firebase antes de conectar el depurador (entra en conflicto con el puerto del depurador).
- Ejecuta: Lanza la configuración Debug Cloud Function (Local) desde la pestaña Run and Debug.
- Breakpoints: Añade breakpoints dentro de
get_secretenfunctions/main.py. - Envía: Dispara una petición mediante curl o el REST Client apuntando a
http://localhost:8080/.
-
main.py:
- Asegúrate: Detén el emulador de Firebase antes de conectar el depurador.
- Ejecuta: Lanza la configuración Debug Cloud Function (Local).
- Configura: Establece
DEBUG_MODE=Trueen tu.env. - Ejecuta: Abre
main.pye inicia el depurador Python: Current File.
-
Tests:
- Asegúrate: El emulador de Firebase debe estar en ejecución para depurar tests individualmente.
- Breakpoints: Añade breakpoints en
tests/test_get_secret.py. - Ejecuta: Abre la pestaña Testing y haz clic en el icono Debug Test junto al test deseado.
Cómo testear
Sección titulada «Cómo testear»- Todos los tests: Ejecuta el script automatizado:
Ventana de terminal scripts/run_tests.sh - Individualmente: Usa la pestaña Testing de VS Code para ejecutar o depurar casos de test específicos.
Validar resultados
Sección titulada «Validar resultados»Abre la UI del emulador de Firebase y navega a la sección Logs para inspeccionar la actividad de las funciones:
http://localhost:4000Limpieza
Sección titulada «Limpieza»Detén los emuladores pulsando Ctrl+C en el terminal donde se ejecuta firebase emulators:start. Para eliminar los volúmenes:
docker compose down -v