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.
-
In the Google Cloud console, 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.
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, aFunction_1
se le asignará el nombrefunction-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:
- Puedes usar la Google Cloud consola, así como gcloud CLI
(
gcloud run deploy
). - Los pasos para especificar activadores son ligeramente diferentes. Para obtener más información, consulta activadores y reintentos y ejemplos de activadores de funciones.
- Cloud Run ofrece una variedad más amplia de opciones de configuración: