Implementa una función

En esta guía, se muestra cómo implementar una función a partir del código fuente con el comando gcloud functions. Para obtener información sobre cómo implementar una función con el comando gcloud run, consulta Implementa una función de Cloud Run con gcloud CLI.

El proceso de implementación toma tu código fuente y tu configuración y compila una imagen ejecutable que Cloud Run Functions administra de forma automática para controlar las solicitudes a tu función.

Conceptos básicos de la implementación

Para obtener una introducción sobre el tipo de funciones que puedes implementar, consulta Escribe funciones de Cloud Run.

Los usuarios que implementan funciones deben tener el rol de IAM Desarrollador de Cloud Functions o un rol que incluya los mismos permisos. Consulta también Configuración adicional para la implementación.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Usa el comando gcloud functions deploy para implementar una función:

    gcloud functions deploy YOUR_FUNCTION_NAME \
       --region=YOUR_REGION \
       --runtime=YOUR_RUNTIME \
       --source=YOUR_SOURCE_LOCATION \
       --entry-point=YOUR_CODE_ENTRYPOINT \
       TRIGGER_FLAGS
    

    El primer argumento, YOUR_FUNCTION_NAME, es un nombre para tu función implementada. El nombre de la función debe comenzar con una letra seguida de un máximo de 62 letras, números, guiones o guiones bajos, y debe terminar con una letra o un número. El nombre del servicio de Cloud Run que se crea para tu función reemplazará los guiones bajos por guiones y las letras mayúsculas se convertirán en minúsculas. Por ejemplo, a Function_1 se le asignará el nombre function-1 en Cloud Run.

    • La marca --region especifica la región en la que se implementará la función. Consulta Ubicaciones para obtener una lista de regiones compatibles con Cloud Run.

    • La marca --runtime especifica el entorno de ejecución de lenguaje que usa tu función. Consulta Compatibilidad con el entorno de ejecución para obtener una lista de los IDs de entorno de ejecución compatibles.

    • La marca --source especifica la ubicación del código fuente de tu función.

    • La marca --entry-point especifica el punto de entrada a tu función en tu código fuente. Este es el código que se ejecutará cuando se ejecute tu función. El valor de esta marca debe ser un nombre de función o un nombre de clase completamente calificado que exista en tu código fuente. Para obtener más información, consulta Punto de entrada de la función.

    • Para especificar el activador de tu función, se requieren marcas adicionales (representadas como TRIGGER_FLAGS en el ejemplo anterior), según el activador que deseas usar:

      Marcas del activador Descripción del activador
      --trigger-http Activa la función con una solicitud HTTP(S).
      --trigger-topic=YOUR_PUBSUB_TOPIC Activa la función cuando se publica un mensaje en el tema de Pub/Sub especificado.
      --trigger-bucket=YOUR_STORAGE_BUCKET Activa la función cuando se crea o reemplaza un objeto en el bucket de Cloud Storage especificado.
      --trigger-event-filters=EVENTARC_EVENT_FILTERS Activa la función con Eventarc cuando se produce un evento que coincide con los filtros especificados.

      Para obtener una referencia completa del comando de implementación y sus marcas, consulta la documentación de gcloud functions deploy.

      Para obtener más detalles sobre las marcas de configuración de gcloud functions deploy, consulta la documentación de Cloud Run.

Cuando la implementación finaliza correctamente, las funciones aparecen con una marca de verificación verde en la página de descripción general de Cloud Run en la consola deGoogle Cloud .

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

URL del extremo HTTP

Cuando creas una función con el comando gcloud functions o la API de Cloud Functions v2, de forma predeterminada, la función tiene una URL de extremo HTTP cloudfunctions.net. Si tomas esta función y la implementas en Cloud Run, tu función también recibirá una URL de extremo HTTP run.app. Sin embargo, las funciones creadas en Cloud Run no tendrán una URL de extremo HTTP de cloudfunctions.net. La URL cloudfunctions.net y la URL run.app de una función se comportan de la misma manera. Son intercambiables y se usan para activar tu función.

Ejemplos de Terraform

Para ver ejemplos sobre cómo implementar funciones con Terraform, consulta el ejemplo de HTTP de Terraform y el ejemplo de Pub/Sub de Terraform.

Configura Herramientas de redes

Las funciones creadas con la API de Cloud Functions v2 (por ejemplo, con gcloud functions, la API de REST o Terraform) se pueden administrar con la API de Cloud Run Admin y la API de Cloud Functions v2.

Si deseas obtener más información para administrar redes de funciones, incluido cómo enrutar tráfico de red de VPC, consulta Prácticas recomendadas para las redes de Cloud Run.

Obtén información para implementar funciones de Cloud Run en Cloud Run

La implementación de funciones en Cloud Run es similar a los pasos que se describen en este documento, pero con algunas ventajas adicionales: