Testa una Cloud Function prima del deployment

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

Prepara una funzione per il test

Per preparare una funzione per il test:

  1. Apri la pagina Panoramica delle funzioni nella console Google Cloud:

    Vai alla pagina Panoramica di Cloud Functions

    Assicurati che sia selezionato il progetto per il quale hai abilitato Cloud Functions.

  2. Fai clic su Crea funzione per creare una nuova funzione Node.js o Python oppure seleziona una funzione Node.js o Python esistente e fai 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 pre-deployment della funzione

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

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

Esegui il test

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

Screenshot che mostra il riquadro di test pre-deployment della funzione

Questa fase del processo di test include i seguenti componenti:

  • Riquadro degli eventi di attivazione. Il riquadro degli eventi di attivazione viene precompilato con un payload che corrisponde all'attivatore di evento specificato nella pagina di configurazione. Questo è l'input della funzione.
  • Finestra di output di Cloud Shell. La finestra di output di Cloud Shell mostra il codice di stato HTTP e l'eventuale risposta restituita al chiamante.
  • L'opzione 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 dalla tua funzione nel terminale Cloud Shell nella parte inferiore dello schermo. Ad esempio, l'output della pacchettizzazione del codice sorgente quando apri il pannello di test. Quando esegui un test, vedrai le modifiche al codice sorgente e l'output del livello di esecuzione, inclusi console.log ed errori.

Se il test ha esito negativo, il terminale Cloud Shell mostra un messaggio di errore per aiutarti a individuarne 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

Una volta completato il test, puoi eseguire il deployment della funzione come di consueto facendo clic su Esegui il deployment.