Tester une fonction Cloud Run avant le déploiement

Ce guide vous explique comment tester une fonction Cloud Run dans la console Google Cloud avant de la déployer. Cette fonctionnalité est disponible pour les fonctions Node.js et Python.

Préparer une fonction pour les tests

Pour préparer une fonction pour les tests :

  1. Ouvrez la page de présentation de Cloud Run Functions dans la console Google Cloud  :

    Accéder à la page de présentation de Cloud Run Functions

    Vérifiez que le projet pour lequel vous avez activé Cloud Run Functions est sélectionné.

  2. Cliquez sur Créer une fonction pour créer une fonction Node.js ou Python, ou sélectionnez une fonction Node.js ou Python existante, puis cliquez sur Modifier pour la modifier.

  3. Cliquez sur Suivant pour accéder à la page de modification du code :

    Capture d'écran montrant le panneau de test avant déploiement d'une fonction

  4. Cliquez sur Tester la fonction pour lancer le processus de test.

  5. Lorsque vous y êtes invité, cliquez sur Démarrer le test pour autoriser l'utilisation du terminal Cloud Shell.

Exécuter le test

Une fois la procédure ci-dessus terminée, le panneau d'événement déclencheur s'ouvre sur la droite, confirmant que la fonction est prête à être testée. Cliquez sur Effectuer le test :

Capture d'écran montrant le panneau de test avant déploiement d'une fonction

Cette phase du processus de test comprend les composants suivants :

  • Panneau d'événement déclencheur. Le panneau d'événement déclencheur est prérempli avec une charge utile correspondant à l'événement déclencheur que vous avez spécifié sur la page de configuration. Il s'agit de l'entrée de votre fonction.
  • Fenêtre de résultat Cloud Shell. La fenêtre de résultat Cloud Shell affiche le code d'état HTTP et toute réponse renvoyée à l'appelant.
  • L'option Effectuer le test exécute le test.

Vous pouvez observer le résultat du test dans la fenêtre Cloud Shell :

Capture d'écran montrant la fenêtre de résultat Cloud Shell

Terminal Cloud Shell

Vous pouvez afficher le résultat de la journalisation de votre fonction dans le terminal Cloud Shell en bas de l'écran. Par exemple, vous voyez le résultat de l'empaquetage du code source lorsque vous ouvrez le panneau de test. Lorsque vous effectuez un test, vous voyez les modifications du code source et le résultat du niveau d'exécution, y compris console.log et les erreurs.

Si votre test échoue, le terminal Cloud Shell affiche un message d'erreur pour vous aider à identifier la cause exacte. Exemple :

[11:31:47 AM] - Provided module can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /workspace/index.js:11
    : 'World';
    ^

SyntaxError: Unexpected token ':'
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1048:15)
    at Module._compile (node:internal/modules/cjs/loader:1083:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1173:10)
    at Module.load (node:internal/modules/cjs/loader:997:32)
    at Module._load (node:internal/modules/cjs/loader:838:12)
    at Module.require (node:internal/modules/cjs/loader:1021:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at getUserFunction (/workspace/node_modules/@google-cloud/functions-framework/build/src/loader.js:98:30)
    at async main (/workspace/node_modules/@google-cloud/functions-framework/build/src/main.js:35:32)

[11:31:47 AM] - Could not load the function, shutting down.

Déployer

Une fois le test terminé, vous pouvez déployer votre fonction de la manière habituelle en cliquant sur Déployer.