Testare una funzione Cloud Run prima del deployment

Questa guida mostra come testare una funzione Cloud Run nella console Google Cloud prima di eseguirne il deployment. Questa funzionalità è disponibile per le funzioni Node.js e Python.

Preparare una funzione per i test

Per preparare una funzione per i test:

  1. Apri la pagina Panoramica di Functions nella console Google Cloud:

    Vai alle funzioni di Cloud Run nella pagina Panoramica

    Assicurati che sia selezionato il progetto per cui hai attivato le funzioni Cloud Run.

  2. Fai clic su Crea funzione per creare una nuova funzione Node.js o Python oppure selezionare una funzione Node.js o Python esistente e fare clic su Modifica per modificarla.

  3. Fai clic su Avanti per passare alla pagina di modifica del codice:

    Screenshot che mostra il riquadro di test di predeployment della funzione

  4. Fai clic su Testa funzione per avviare la procedura di test.

  5. Quando richiesto, fai clic su Inizia i test per autorizzare l'utilizzo del terminale Cloud Shell.

Esegui il test

Quando completi i passaggi precedenti, a destra si apre il riquadro dell'evento di attivazione, a conferma del fatto che la funzione è pronta per essere testata. Fai clic su Esegui test:

Screenshot che mostra il riquadro di test di predeployment della funzione

Questa fase della procedura di test include i seguenti componenti:

  • Riquadro Evento di attivazione. Il riquadro dell'evento di attivazione è precompilato con un payload che corrisponde all'attivatore evento specificato nella pagina di configurazione. Questo è l'input della funzione.
  • Finestra di output di Cloud Shell. La finestra di output di Cloud Shell visualizza il codice di stato HTTP e qualsiasi risposta restituita all'autore della chiamata.
  • Esegui test esegue il test.

Puoi osservare l'output del test nella finestra di Cloud Shell:

Screenshot che mostra la finestra di output di Cloud Shell

Terminale Cloud Shell

Puoi visualizzare l'output del logging della funzione nel terminale Cloud Shell nella parte inferiore dello schermo. Ad esempio, vedrai l'output del pacchettizzazione del codice sorgente quando apri il riquadro di test. Quando esegui un test, vedrai le modifiche al codice sorgente e l'output a livello di esecuzione, inclusi console.log e gli errori.

Se il test non va a buon fine, il terminale Cloud Shell mostra un messaggio di errore per aiutarti a individuare la causa esatta, ad esempio:

[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.

Esegui il deployment

Al termine del test, puoi eseguire il deployment della funzione nel solito modo facendo clic su Esegui il deployment.