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 implementando un'interfaccia di Functions Framework:
IHttpFunction
- Generica
ICloudEvent<T>
ICloudEvent
non generico
Il presente documento fornisce esempi per F# e Visual Basic.
Modelli
Tieni presente che per eseguire gli esempi in questo documento, dovrai utilizzare i modelli:
Installa .NET Core SDK 3.1.
Installa il pacchetto modello:
dotnet new -i Google.Cloud.Functions.Templates::1.0.0-beta04
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 gli esempi di F# e Visual Basic, consulta Lingue.NET.
Esempi di funzioni HTTP
Le funzioni HTTP vengono utilizzate quando vuoi richiamare
la funzione tramite una richiesta HTTP(S). I seguenti esempi mostrano il messaggio
"Hello World!"
F#
Visual basic
Esempi di file di progetto
Ecco i file di progetto per gli esempi precedenti:
F#
Visual basic
Deployment delle funzioni HTTP
F#
gcloud functions deploy fsharp-helloworld --entry-point HelloWorldFSharp.Function --runtime dotnet3 --trigger-http --allow-unauthenticated
Visual basic
gcloud functions deploy vb-helloworld --entry-point HelloWorldVb.CloudFunction --runtime dotnet3 --trigger-http --allow-unauthenticated
Esempi di CloudEvent
Le funzioni CloudEvent vengono utilizzate quando vuoi chiamare indirettamente una Funzione Cloud in risposta a un evento asincrono, ad esempio un messaggio su un argomento Pub/Sub, una modifica in un bucket Cloud Storage o un evento Firebase.
F#
Visual basic
Deployment delle funzioni CloudEvent
F#
gcloud functions deploy fsharp-hello-pubsub --entry-point HelloPubSubFSharp.Function --runtime dotnet3 --trigger-topic my-topic --allow-unauthenticated
Visual basic
gcloud functions deploy vb-hello-pubsub --entry-point HelloPubSubVb.CloudFunction --runtime dotnet3 --trigger-topic my-topic --allow-unauthenticated
Testa gli esempi di CloudEvent
Puoi testare gli esempi di CloudEvent come segue:
Pubblica un messaggio nell'argomento Pub/Sub per attivare la funzione:
gcloud pubsub topics publish my-topic --message Flurry
Esamina i log:
gcloud functions logs read --limit 10
Dovresti vedere un messaggio simile al seguente, che include un nome che include il nome della pubblicazione 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'