Testare 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 Functions Framework, 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. In questo modo, la funzione viene eseguita
immediatamente, anche se è stata implementata per rispondere a un evento specifico.
Testa la funzione con Google Cloud CLI
Per richiamare direttamente la funzione utilizzando gcloud CLI, utilizza
il comando gcloud functions call
e fornisci i dati
che la funzione prevede in formato 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 Google Cloud regione in cui viene eseguito il deployment della funzione
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 basate su eventi,i dati vengono passati direttamente alla funzione come dati dell'evento.
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 la funzione direttamente, invia un
PubsubMessage
,
che prevede dati codificati in base64, come dati dell'evento:
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'"}'
Vai
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.