Prueba tu función de forma local
En esta guía, se muestra cómo llamar de forma local a una función desde el código fuente
con un comando gcloud functions. Para aprender a desarrollar y probar de forma local
Cloud Run Functions con Functions Framework, consulta
Desarrollo local de funciones.
Para admitir iteraciones y depuraciones rápidas de las funciones creadas con la
API de Cloud Functions v2, puedes usar el comando call
en la interfaz de línea de comandos. 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 la gcloud CLI, usa
el comando gcloud functions call y proporciona datos
que tu función espera como JSON en el argumento --data. Por ejemplo:
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
Reemplaza lo siguiente:
- YOUR_FUNCTION_NAME: Es el nombre de la función que deseas probar.
- REGION: Es la región de Google Cloud en la que se implementa tu función.
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 basadas en eventos, los datos se pasan directamente a tu función como los datos del evento.
Para obtener más información, consulta la documentación de gcloud functions call.
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 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 base64, 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.