Chiamare direttamente Cloud Functions
Per supportare iterazioni e debug rapide, Cloud Functions fornisce un comando call
nell'interfaccia a riga di comando e una funzionalità di test nell'interfaccia utente della console Google Cloud. Ciò ti consente di richiamare direttamente una funzione
per assicurarti che funzioni come previsto. Questo determina l'esecuzione immediata della funzione, anche se potrebbe essere stato sottoposto a deployment per rispondere a un evento specifico.
Testa la funzione con Google Cloud CLI
Per richiamare direttamente una funzione utilizzando gcloud CLI, utilizza il comando gcloud functions call
e fornisci tutti i dati che la funzione prevede come JSON nell'argomento --data
. Ad esempio:
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Tristan"}'
dove YOUR_FUNCTION_NAME
è il nome della funzione
che vuoi eseguire. L'argomento --data
viene inviato alla funzione come segue:
- Per le funzioni HTTP, i dati forniti vengono inviati come corpo di una richiesta POST.
- Per le funzioni in background, i dati vengono passati direttamente alla funzione come dati degli eventi.
- Per le funzioni CloudEvent, i dati vengono passati direttamente alla funzione come dati degli eventi.
Per saperne di più, consulta la documentazione di gcloud functions call
.
Testa la funzione con la Google Cloud Console
Per richiamare una funzione direttamente dalla console Google Cloud, segui questi passaggi:
Fai clic sul nome della funzione da richiamare.
Fai clic sulla scheda Test.
Nel campo Configura evento di trigger, inserisci i dati previsti dalla funzione come JSON.
Fai clic su Testa la funzione.
La risposta della funzione viene visualizzata nel campo Output, mentre i log della singola esecuzione vengono visualizzati nel campo Log.
Esempio di funzione basata su eventi di Cloud Pub/Sub
Questo esempio mostra come richiamare direttamente una funzione basata su eventi attivata da eventi Cloud Pub/Sub:
Node.js
Python
Go
Java
C#
Ruby
PHP
Per richiamare la funzione direttamente, invia un elemento PubsubMessage
, che si aspetta 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 interfaccia a riga di comando utilizza la sintassi bash
o sh
. Funziona in ambienti Linux e Mac,
ma non in Windows.
Puoi anche richiamare la funzione dalla console Google Cloud utilizzando gli stessi dati sugli eventi nel campo Evento di trigger.