Testa la funzione localmente
Questa guida mostra come chiamare localmente una funzione dal codice sorgente utilizzando un comando gcloud functions. Per scoprire come sviluppare e testare localmente una funzione Cloud Run utilizzando il framework di Functions, consulta Sviluppo locale di funzioni.
Per supportare l'iterazione e il debug rapidi per le funzioni create con l'API Cloud Functions v2, puoi utilizzare il comando call nell'interfaccia a riga di comando. In questo modo, puoi richiamare direttamente una funzione per assicurarti che si comporti come previsto. La funzione viene così eseguita immediatamente, anche se è stato eseguito il deployment per rispondere a un evento specifico.
Testa la funzione con Google Cloud CLI
Per richiamare direttamente la funzione tramite gcloud CLI, utilizza il comando gcloud functions call e fornisci i dati previsti dalla funzione come JSON nell'argomento --data. Ad esempio:
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
Sostituisci:
- YOUR_FUNCTION_NAME: il nome della funzione che stai testando
- REGION: la regione Google Cloud in cui viene eseguito il deployment della funzione
L'argomento --data viene inviato alla tua funzione come segue:
- Per le funzioni HTTP, i dati forniti vengono inviati come corpo di una richiesta POST.
- Per le funzioni basate su eventi, i dati vengono passati direttamente alla funzione come dati sugli eventi.
Per saperne di più, consulta la documentazione relativa a gcloud functions call.
Esempio di funzione basata su eventi Cloud Pub/Sub
Questo esempio mostra come richiamare direttamente una funzione basata su eventi attivata da eventi Pub/Sub:
Node.js
Python
Go
Java
C#
Ruby
PHP
Per richiamare direttamente la funzione, invia un PubsubMessage, che prevede dati con codifica base64, come dati sugli eventi:
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'"}'
Questo esempio di CLI utilizza la sintassi bash o sh. Funziona in ambienti Linux e Mac, ma non Windows.