Appeler directement des fonctions Cloud Run
Pour prendre en charge l'itération et le débogage rapides des fonctions créées avec l'API Cloud Functions v2, Cloud Run Functions fournit une commande call
dans l'interface de ligne de commande. Cela vous permet d'appeler directement une fonction pour vous assurer qu'elle se comporte comme prévu. La fonction s'exécute immédiatement, même si elle a été déployée pour répondre à un événement spécifique.
Tester votre fonction avec Google Cloud CLI
Pour appeler directement une fonction à l'aide de gcloud CLI, utilisez la commande gcloud functions call
et fournissez toutes les données que votre fonction attend au format JSON dans l'argument --data
. Exemple :
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
Remplacez :
- YOUR_FUNCTION_NAME : nom de la fonction que vous testez.
- REGION: région dans laquelle votre fonction est déployée Google Cloud
L'argument --data
est envoyé à votre fonction comme suit :
- Pour les fonctions HTTP, les données que vous fournissez sont envoyées en tant que corps d'une requête POST.
- Pour les fonctions CloudEvent, les données sont directement transmises à votre fonction en tant que données d'événement.
Pour en savoir plus, reportez-vous à la documentation gcloud functions call
.
Exemple de fonction Cloud Pub/Sub basée sur des événements
Cet exemple montre comment appeler directement une fonction basée sur des événements déclenchée par des événements Cloud Pub/Sub :
Node.js
Python
Go
Java
C#
Ruby
PHP
Pour appeler directement la fonction, envoyez une requête PubsubMessage
, qui attend des données encodées en base64 en tant que données d'événement :
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'"}'
Cet exemple de la CLI utilise la syntaxe bash
ou sh
. Il fonctionne sous Linux et Mac, mais pas sous Windows.