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 y, 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 funciones de Node.js de Cloud Functions 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.

Comenzar

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

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 la terminal:

functions --help

Si tu terminal ya tiene un comando functions conflictivo, también puede accederse a la interfaz de línea de comandos del emulador de Node.js 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 de Node.js 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 el marcador --local-path:

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

Llama 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 el marcador --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 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 archivo de registro en el sistema de archivos local y determinar su ubicación emitiendo 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 más detalles.

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

Obtén ayuda

Para acceder a ayuda detallada sobre el emulador de Node.js, agrega el marcador --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 enviar problemas.

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

Enviar comentarios sobre...

Documentación de Cloud Functions