Implementa una función
En esta guía, se muestra cómo se implementa 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 la gcloud CLI.
El proceso de implementación toma el código fuente y los parámetros de configuración y compila una imagen ejecutable que Cloud Run Functions administra automáticamente para controlar las solicitudes que recibe la función.
Conceptos básicos de la implementación
Para obtener una introducción al 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 uno que incluya los mismos permisos. También consulta 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 deploypara 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 el nombre de la función que implementas. Este debe empezar con una letra, seguida de hasta 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 la función reemplazará los guiones bajos por guiones, y las letras mayúsculas se convertirán en minúsculas. Por ejemplo, aFunction_1se le asignará el nombrefunction-1en Cloud Run.La marca
--regionespecifica la región en la que se implementará la función. Consulta Ubicaciones para obtener una lista de las regiones compatibles con Cloud Run.La marca
--runtimeespecifica el entorno de ejecución del lenguaje que usa la 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
--sourceespecifica la ubicación del código fuente de la función.La marca
--entry-pointespecifica el punto de entrada a la función en el código fuente. Este es el código que se ejecutará cuando así lo haga la función. El valor de esta marca debe ser el nombre de una función o el nombre completamente calificado de la clase que esté en el código fuente. Para obtener más información, consulta Punto de entrada de la función.Para especificar el activador de la función, se requieren marcas adicionales (representadas como
TRIGGER_FLAGSen el ejemplo anterior), según el activador que desees usar:Marcas del activador Descripción del activador --trigger-httpActiva la función con una solicitud HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPICActiva la función cuando se publica un mensaje en el tema de Pub/Sub especificado. --trigger-bucket=YOUR_STORAGE_BUCKETActiva la función cuando se crea o reemplaza un objeto en el bucket de Cloud Storage especificado. --trigger-event-filters=EVENTARC_EVENT_FILTERSActiva 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.
- Puedes usar la consola de Google Cloud , así como la gcloud CLI
(
gcloud run deploy). - Los pasos para especificar los activadores son un poco diferentes. Para obtener más información, consulta activadores y reintentos y ejemplos de activadores de funciones.
- Cloud Run ofrece una mayor variedad de opciones de configuración:
Cuando la implementación finaliza con éxito, 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, la función también recibirá una URL de extremo HTTP
run.app. Sin embargo, las funciones que se crean en Cloud Run no tendrán una
URL de extremo HTTP cloudfunctions.net. Las URL cloudfunctions.net y run.app
de una función se comportarán de la misma manera, son intercambiables y
se usan para activar la 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 las redes
Las funciones que se crean 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.
Para obtener más información sobre cómo administrar las redes para las funciones, incluido cómo enrutar el tráfico de la red de VPC, consulta Prácticas recomendadas para las redes de Cloud Run.
Obtén más información sobre cómo implementar funciones de Cloud Run en Cloud Run
Implementar funciones en Cloud Run es similar a los pasos que se describen en este documento, pero con algunas ventajas adicionales, como las que se indican a continuación: