Emulador de Node.js para Cloud Functions

El emulador de Node.js es una aplicación de Node.js que implementa las API de REST y gRPC de Cloud Functions que, además, incluye una interfaz de línea de comandos para administrar la aplicación. El emulador de Node.js te permite implementar, ejecutar y depurar Cloud Functions de Node.js en tu máquina local antes de implementarlas en el servicio de producción de Cloud Functions.

El emulador es un proyecto de código abierto, alojado en GitHub.

Comienza

El emulador de Node.js se distribuye como un paquete de npm estándar para que puedas instalarlo con un comando npm de instalación estándar:

npm install -g @google-cloud/functions-emulator

O bien puedes usar Yarn si lo prefieres:

yarn global add @google-cloud/functions-emulator

Usa el emulador de Node.js

Después de la instalación, deberías tener un comando functions global disponible. Para verificar esto, escribe el siguiente comando en una ventana de terminal:

functions --help

Si tu terminal ya tiene un comando functions conflictivo, la interfaz de línea de comandos del emulador de Node.js también es accesible con el comando functions-emulator.

Puedes obtener ayuda sobre cualquier comando con solo ejecutar lo siguiente:

functions COMMAND --help

Proporciona el ID del proyecto antes de iniciar el emulador de Node.js como se muestra más abajo:

functions config set projectId YOUR_PROJECT_ID

Inicia y detén el emulador de Node.js

Para implementar una función, es necesario que inicies el emulador de Node.js:

functions start

Llama a stop para detener el emulador de Node.js:

functions stop

Si el emulador no se detiene por alguna razón, puedes usar el comando kill para finalizar el proceso subyacente de manera forzada:

functions kill

Implementa funciones en el emulador de Node.js

La implementación de funciones en el emulador de Node.js usa la misma sintaxis que la herramienta de línea de comandos de gcloud.

Para implementar una función de HTTP en el emulador de Node.js ejecuta este comando:

functions deploy helloWorld --trigger-http

Esta acción implementa la función que se encuentra en el directorio de trabajo actual. Para realizar una implementación desde una ubicación diferente, usa la marca --local-path:

functions deploy helloWorld --trigger-http --local-path=~/myFunction

Llama a funciones en el emulador de Node.js

Para invocar una función implementada en el emulador de Node.js, usa el comando call:

functions call helloWorld

Para enviar la carga útil a la función, usa la marca --data:

functions call helloWorld --data='{"message":"Hello World"}'

También puedes invocar funciones implementadas con un activador HTTP mediante el envío de una solicitud a la URL proporcionada después de la implementación.

Visualiza los registros

Los registros emitidos desde tu función se escriben en el sistema de archivos local. Puedes verlos a través del comando logs:

functions logs read

También puedes ver el propio archivo de registro en el sistema de archivos local y determinar su ubicación mediante la emisión de un comando status:

functions status

Depura con el emulador de Node.js

Puedes depurar las funciones que se ejecutan en el emulador de Node.js con el depurador de Node.js estándar o la integración del inspector V8. Ejecuta el siguiente comando para depurar con el depurador de Node.js estándar:

functions debug helloWorld

Para depurar con la integración del inspector V8, ejecuta el siguiente comando:

functions inspect helloWorld

También puedes configurar el puerto del depurador o forzar la función para que pause la ejecución hasta que lo adjuntes. Ejecuta alguno de los siguientes comandos:

functions debug --help

o

functions inspect --help

Después de que una función implementada haya ingresado al modo de depuración, puedes adjuntar cualquier cliente estándar de depuración de Node.js a su depurador.

Para sacar tu función del modo de depuración, ejecuta el siguiente comando:

functions reset helloWorld

o el siguiente comando para reiniciar la función y mantener su configuración de depuración:

functions reset helloWorld --keep

Ejecuta functions reset --help para obtener detalles.

Puedes encontrar documentación más detallada sobre cómo depurar con el emulador de Node.js en las herramientas para desarrolladores de Chrome, Visual Studio Code o Webstorm en la página de GitHub.

Obtén ayuda

Para ver información detallada sobre la ayuda del emulador de Node.js, agrega la marca --help a cualquier comando como en el ejemplo:

functions --help

o

functions COMMAND --help

En GitHub, hay más documentación detallada disponible y, además, puedes ver o plantear problemas.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Functions