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.
Prepara una funzione per i test
Per preparare una funzione per il test:
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.
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.
Fai clic su Avanti per passare alla pagina di modifica del codice:
Fai clic su Testa funzione per avviare il processo di test.
Quando richiesto, fai clic su Inizia test per autorizzare l'utilizzo dell' terminale Cloud Shell.
Esegui il test
Una volta completati i passaggi precedenti, il riquadro dell'evento di attivazione si apre nella confermando che la funzione è pronta per essere testata. Fai clic su Esegui test:
Questa fase del processo di test include i seguenti componenti:
- Riquadro Evento di attivazione. Il riquadro dell'evento di attivazione è precompilato con un payload corrispondente all'attivatore evento specificato nella pagina di configurazione. Questo è l'input della funzione.
- Finestra di output di Cloud Shell. Finestra di output di Cloud Shell mostra il codice di stato HTTP e l'eventuale risposta restituita al chiamante.
- Esegui test consente di eseguire il test.
Puoi osservare l'output del test nella finestra di Cloud Shell:
Terminale Cloud Shell
Puoi visualizzare l'output di logging dalla tua funzione nel terminale Cloud Shell all'indirizzo
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 l'origine
modifiche al codice e output a livello di esecuzione, tra cui console.log
ed errori.
Se il test non va a buon fine, il terminale Cloud Shell visualizza 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 come di consueto facendo clic su Esegui il deployment.
Limitazioni
I test di pre-deployment presentano alcune limitazioni note.
Accesso alla rete
I test di predeployment vengono eseguiti in Cloud Shell, che non è connesso al VPC anche se hai specificato un accesso VPC serverless nei passaggi precedenti. Per testare un funzione Cloud Run che dipende dalla connettività VPC, devi eseguire il deployment della funzione Cloud Run completo.