Appeler des fonctions Cloud Functions directement
Pour prendre en charge l'itération et le débogage rapides, Cloud 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
1re génération
Pour appeler directement une fonction de 1re génération à l'aide de la gcloud CLI, exécutez la commande gcloud functions call
et fournissez toutes les données que votre fonction attend au format JSON dans l'argument --data
. Par exemple :
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Tristan"}'
où YOUR_FUNCTION_NAME
correspond au nom de la fonction que vous souhaitez exécuter. 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 d'arrière-plan, les données sont directement transmises à votre fonction en tant que données d'événement. Pour plus d'informations sur l'accès aux données d'événement dans les fonctions d'arrière-plan, consultez la section Paramètres des fonctions d'arrière-plan.
- Pour les fonctions CloudEvent, les données sont directement transmises à votre fonction en tant que données d'événement. Pour plus d'informations sur l'accès aux données d'événement dans les fonctions CloudEvent, consultez la section Paramètres des fonctions CloudEvent.
2e génération
Pour appeler directement une fonction de 2e génération à l'aide de gcloud CLI, utilisez la version de 2e génération de la commande gcloud functions call
et fournissez toutes les données que votre fonction attend au format JSON dans l'argument --data
. Par 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 plus d'informations sur l'accès aux données d'événement dans les fonctions CloudEvent, consultez la section Paramètres des fonctions CloudEvent.
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 :
1re génération
Cliquez sur le nom de la fonction que vous souhaitez appeler.
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 Tester la fonction.
La réponse de votre fonction s'affiche dans le champ Sortie et les journaux de l'exécution individuelle s'affichent dans le champ Journaux.
2e génération
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 les boutons +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 de 1re génération basée sur des événements déclenchée par 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.