Appeler directement des fonctions Cloud Run
Pour prendre en charge l'itération et le débogage rapides, Cloud Run Functions fournit une commande call
dans l'interface de ligne de commande et des fonctionnalités de test dans l'interface utilisateur de la console Google Cloud. 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 Google Cloud dans laquelle votre fonction est déployée
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
.
Tester votre fonction avec la console Google Cloud
Pour appeler directement une fonction à partir de la console Google Cloud, procédez comme suit :
Dans la liste, cliquez sur le nom de la fonction que vous souhaitez appeler. La page d'informations de la fonction s'affiche.
Cliquez sur l'onglet Tests.
Dans le champ Configurer un événement déclencheur, saisissez les données que votre fonction attend au format JSON.
Cliquez sur +Ajouter un paramètre de requête et +Ajouter un paramètre d'en-tête pour ajouter des paramètres de requête et d'en-tête à l'appel de fonction, si nécessaire.
La console Google Cloud assemble les paramètres que vous spécifiez dans une commande
gcloud functions call
dans la fenêtre de la commande de test de la CLI.Sélectionnez Exécuter dans Cloud Shell pour ouvrir une fenêtre Cloud Shell afin d'exécuter cette commande.
Appuyez sur Entrée pour déclencher la commande
gcloud functions call
après son affichage dans votre fenêtre Cloud Shell.
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.
Vous pouvez également appeler la fonction depuis la console Google Cloud en utilisant les mêmes données d'événement dans le champ Événement déclencheur.