Chiama direttamente le funzioni v2
Per supportare l'iterazione e il debug rapidi delle funzioni create con
l'API Cloud Functions v2,
Cloud Functions fornisce un comando call
nell'interfaccia a riga di comando. In questo modo puoi richiamare direttamente una funzione per assicurarti che funzioni come previsto. 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 CloudEvent,i dati vengono passati 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 richiamare direttamente una funzione basata su eventi attivata dagli eventi Cloud 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.