En este tutorial se muestra cómo desplegar una función de Pub/Sub subiendo un archivo ZIP del código fuente de la función a un segmento de Cloud Storage y usando Terraform para aprovisionar los recursos. Terraform es una herramienta de código abierto que te permite aprovisionar Google Cloud recursos con archivos de configuración declarativos.
En este tutorial se usa una función de Node.js como ejemplo, pero también funciona con funciones de Python, Go y Java. Las instrucciones son las mismas independientemente del tiempo de ejecución que utilices. Consulta las páginas de referencia de HashiCorp para obtener información detallada sobre el uso de Terraform con la API Cloud Functions v2.
Configurar un entorno
En este tutorial, ejecutarás comandos en Cloud Shell. Cloud Shell es un entorno de shell con la CLI de Google Cloud ya instalada, incluidos la CLI de Google Cloud y los valores ya definidos para tu proyecto actual. Cloud Shell puede tardar varios minutos en inicializarse:
Preparar la aplicación
En Cloud Shell, sigue estos pasos:
Clona el repositorio de la aplicación de ejemplo en tu instancia de Cloud Shell:
git clone https://github.com/terraform-google-modules/terraform-docs-samples.git
Cambia al directorio que contiene el código de ejemplo de Cloud Run Functions:
cd terraform-docs-samples/functions/pubsub
El ejemplo de Node.js que se usa en este tutorial es una función básica de Pub/Sub "Hello World". Este es el archivo
main.tf
:
Inicializar Terraform
En el directorio terraform-docs-samples/functions/pubsub
que contiene el archivo main.tf
, ejecuta este comando para añadir los complementos necesarios y crear el directorio .terraform
:
terraform init
Validar la configuración de Terraform
Obtén una vista previa de la configuración de Terraform. Este paso es opcional, pero te permite verificar que la sintaxis de main.tf
es correcta. Este comando muestra una vista previa de los recursos que se crearán:
terraform plan
Aplica la configuración de Terraform
Despliega la función aplicando la configuración. Cuando se te solicite, introduce yes
:
terraform apply
Activar la función
Para probar la función de Pub/Sub, sigue estos pasos:
Publica un mensaje en el tema (en este ejemplo, el nombre del tema es
functions2-topic
):gcloud pubsub topics publish TOPIC_NAME --message="Friend"
Lee los registros de la función para ver el resultado, donde
FUNCTION_NAME
es el nombre de tu función (en este ejemplo, el nombre de la función esfunction
):gcloud functions logs read FUNCTION_NAME
Deberías ver un registro que incluya el nuevo mensaje "Friend".
Limpieza
Una vez que hayas completado el tutorial, puedes eliminar todo lo que hayas creado para no incurrir en más costes.
Terraform te permite eliminar todos los recursos definidos en el archivo de configuración ejecutando el comando terraform destroy
:
terraform destroy
Escribe yes
para permitir que Terraform elimine tus recursos.