Implementa Cloud Functions

Implementación

Las implementaciones funcionan mediante la carga de un archivo que contiene el código fuente de la función a un bucket de Google Cloud Storage. Después de que se sube el código fuente, Cloud Build compila tu código de forma automática en una imagen de contenedor y la envía a Container Registry. Cloud Functions usa esa imagen para crear el contenedor que ejecuta tu función.

De forma más detallada:

  1. Iniciar una implementación comprime tu código fuente, incluidos todos los archivos, excepto aquellos que coinciden con un patrón .gcloudignore.
  2. Una vez que tu código fuente se comprime y se sube, se envía una compilación a Cloud Build. La compilación usa el comando pack build con gcr.io/buildpacks/builder:v1 para compilar el contenedor. Esto realiza las siguientes acciones:

    • Usa la imagen base de Ubuntu.
    • Instala el entorno de ejecución de lenguaje.
    • Instala Functions Framework si aún no está presente.
    • Instala dependencias del usuario.
    • Exporta la imagen de OCI.

El almacenamiento en caché ayuda a que estos pasos sean más rápidos. Mira este video para obtener una descripción general del proceso.

Opciones de implementación

Puedes implementar Cloud Functions desde tu máquina local, un repositorio de origen de GitHub o Bitbucket (a través de Cloud Source Repositories) o directamente desde la API de Cloud Functions.

Cuando realizas una implementación, Cloud Functions busca archivos específicos, según el entorno de ejecución. Consulta Escribe funciones de Cloud Functions para obtener más detalles. Antes de que finalice la implementación de la función, Cloud Functions le enviará a la función una solicitud de prueba para confirmar que se haya implementado de manera correcta.

Migra entre implementaciones

La primera implementación de una función puede tardar varios minutos en completarse mientras se aprovisiona la infraestructura subyacente. Volver a implementar una función existente es más rápido, y el tráfico entrante se migrará automáticamente a la versión más reciente de tu función.

Conceptos básicos

A medida que aprendes sobre las diferentes formas de implementar funciones, es útil comprender cierta terminología básica. Cuando implementas una función, aparece en Cloud Console, como se muestra a continuación. En especial, presta atención a los campos Nombre y Función ejecutada:

  • El campo Nombre (Name) es el nombre registrado que asignas a tu función.
  • El campo Función ejecutada (Executed Function) es el nombre de la función real en tu código fuente que se ejecuta cuando se llama a la función implementada.

Estos dos campos pueden tener el mismo nombre o pueden ser diferentes. Observa a continuación que los nombres registrados de las dos primeras funciones son diferentes de los nombres de las funciones ejecutadas. La última función usa el mismo nombre para ambos campos: helloHttp.

Captura de pantalla en la que se muestra el proceso de implementación de funciones

Compila y prueba a nivel local

Cloud Functions se ejecuta en entornos de ejecución basados en frameworks y lenguajes de código abierto para que puedas compilar y probar tus funciones de forma local con herramientas de desarrollo y entornos de ejecución estándar.

También puedes usar Functions Framework para ejecutar y depurar tus funciones de forma local en entornos de ejecución compatibles a fin de facilitar las pruebas y la depuración.

Próximos pasos