Linguaggi .NET
È possibile scrivere la funzione in diversi linguaggi .NET (C#, Visual Basic o F#). L'attività principale è la stessa in tutti i linguaggi: crei una classe che implementa una delle interfacce del framework di Functions:
IHttpFunction
ICloudEvent<T>
genericoICloudEvent
non generico
Questo documento fornisce esempi per F# e Visual Basic.
Modelli
Tieni presente che per eseguire gli esempi in questo documento, utilizzerai i modelli:
Installa l'SDK.NET.
Installa il pacchetto del modello:
dotnet new install Google.Cloud.Functions.Templates
I modelli vengono forniti per i tre tipi di funzioni in C# (valore predefinito), F# e Visual Basic. Quando crei un nuovo progetto da un modello, specifica -lang f#
per creare un progetto F# o -lang vb
per creare un progetto Visual Basic. Ad esempio, per creare una nuova funzione CloudEvent non digitata per Visual Basic, devi eseguire:
dotnet new gcf-untyped-event -lang vb
Per esempi di F# e Visual Basic, vedi Linguaggi.NET.
Esempi di funzioni HTTP
Puoi utilizzare le funzioni HTTP quando vuoi richiamare la tua funzione tramite una richiesta HTTP(S). I seguenti esempi restituiscono il messaggio
"Hello World!"
Fa n.
Visiva
File di progetto per esempi HTTP
Ecco i file di progetto per gli esempi precedenti:
Fa n.
Visiva
Deployment delle funzioni HTTP
Fa n.
gcloud functions deploy fsharp-helloworld --entry-point HelloWorldFSharp.Function --runtime dotnet6 --trigger-http --allow-unauthenticated
Visiva
gcloud functions deploy vb-helloworld --entry-point HelloWorldVb.CloudFunction --runtime dotnet6 --trigger-http --allow-unauthenticated
Esempi di CloudEvent
Puoi utilizzare le funzioni CloudEvent quando vuoi che la funzione Cloud Function venga richiamata indirettamente in risposta a un evento asincrono, come un messaggio su un argomento Pub/Sub, una modifica in un bucket Cloud Storage o un evento Firebase.
Fa n.
Visiva
Deployment delle funzioni CloudEvent
Fa n.
gcloud functions deploy fsharp-hello-pubsub --entry-point HelloPubSubFSharp.Function --runtime dotnet6 --trigger-topic my-topic --allow-unauthenticated
Visiva
gcloud functions deploy vb-hello-pubsub --entry-point HelloPubSubVb.CloudFunction --runtime dotnet6 --trigger-topic my-topic --allow-unauthenticated
Testa gli esempi CloudEvent
Puoi testare gli esempi di CloudEvent come segue:
Pubblica un messaggio nel tuo argomento Pub/Sub per attivare la funzione:
gcloud pubsub topics publish my-topic --message Flurry
Esamina i log:
gcloud functions logs read --limit 10
Il risultato dovrebbe essere simile al seguente, con un messaggio che include il nome che hai pubblicato nell'argomento Pub/Sub:
D my-function ... Function execution started
I my-function ... Hello Flurry!
D my-function ... Function execution took 39 ms, finished with status: 'ok'