Llama a Cloud Run Functions directamente
Para admitir iteraciones y depuraciones rápidas, Cloud Run Functions proporciona un
comando call
en la interfaz de línea de comandos y la funcionalidad de prueba en la
IU de la consola de Google Cloud. Esto te permite invocar directamente una función para asegurarte de que se comporta como se esperaba. Esto hace que la función se ejecute de inmediato, incluso si se implementó para responder a un evento específico.
Prueba tu función con Google Cloud CLI
Para invocar directamente una función con gcloud CLI, usa
el comando gcloud functions call
y proporciona los datos que tu función espera
como JSON en el argumento --data
. Por ejemplo:
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Tristan"}'
donde YOUR_FUNCTION_NAME
es el nombre de la función que quieres ejecutar. El argumento --data
se envía a tu función como se muestra a continuación:
- Para las funciones de HTTP, los datos que suministras se envían como el cuerpo de una solicitud POST.
- Para las funciones en segundo plano, los datos se pasan directamente a tu función como los datos del evento.
- Para las funciones de CloudEvent, los datos se pasan directamente a tu función como los datos del evento.
Para obtener más información, consulta la documentación gcloud functions call
.
Prueba tu función con la consola de Google Cloud
Para invocar directamente una función desde la consola de Google Cloud, sigue estos pasos:
Haz clic en el nombre de la función que quieres invocar.
Haz clic en la pestaña Prueba.
En el campo Configurar evento de activación, ingresa cualquier dato que tu función espere como archivo JSON.
Haz clic en Probar la función.
La respuesta de tu función aparece en el campo Resultado y los registros de la ejecución individual aparecen en el campo Registros.
Ejemplo de función controlada por eventos de Cloud Pub/Sub
En este ejemplo, se muestra cómo invocar directamente una función controlada por eventos que se activa por eventos de Cloud Pub/Sub:
Node.js
Python
Go
Java
C#
Ruby
PHP
Para invocar la función directamente, envía un PubsubMessage
, que espera datos codificados en Base 64 como los datos del evento:
Node.js
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloPubSub --data '{"data":"'$DATA'"}'
Python
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
Go
DATA=$(printf 'Hello!'|base64) && gcloud functions call HelloPubSub --data '{"data":"'$DATA'"}'
Java
DATA=$(printf 'Hello!'|base64) && gcloud functions call java-hello-pubsub --data '{"data":"'$DATA'"}'
C#
DATA=$(printf 'Hello!'|base64) && gcloud functions call csharp-hello-pubsub --data '{"data":"'$DATA'"}'
Ruby
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
PHP
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloworldPubsub --data '{"data":"'$DATA'"}'
En este ejemplo de la CLI, se usa la sintaxis bash
o sh
. Funciona en entornos de Linux y Mac, pero no en Windows.
También puedes invocar la función desde la consola de Google Cloud mediante los mismos datos de eventos en el campo Evento de activación.