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 in locale le funzioni Cloud Run utilizzando il Framework di Functions, consulta Sviluppo locale delle funzioni.
Per supportare l'iterazione e il debug rapidi delle funzioni create con
l'API Cloud Functions v2, puoi utilizzare il comando call
nell'interfaccia a riga di comando. In questo modo puoi chiamare direttamente una funzione per assicurarti che funzioni come previsto. Di conseguenza, la funzione viene eseguita
immediatamente, anche se potrebbe essere stata implementata per rispondere a un
evento specifico.
Testa la funzione con Google Cloud CLI
Per invocare direttamente la funzione utilizzando gcloud CLI, utilizza il comando gcloud functions call
e fornisci tutti i dati che la funzione si aspetta 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 Google Cloud regione in cui è stato 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 trasmessi direttamente come dati dell'evento alla funzione.
Per ulteriori informazioni, consulta la documentazione di gcloud functions call
.
Esempio di funzione basata su eventi Cloud Pub/Sub
Questo esempio mostra come chiamare direttamente una funzione basata su eventi attivata da eventi Pub/Sub:
Node.js
Python
Vai
Java
C#
Ruby
PHP
Per invocare direttamente la funzione, invia un messaggio 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 interfaccia a riga di comando utilizza la sintassi bash
o sh
. Funziona in ambienti Linux e Mac, ma non Windows.