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
- Il valore generico
ICloudEvent<T>
- Il
ICloudEvent
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 .NET SDK.
Installa il pacchetto di modelli:
dotnet new install Google.Cloud.Functions.Templates
Vengono forniti modelli per i tre tipi di funzioni in C# (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, consulta Linguaggi.NET.
Esempi di funzioni HTTP
Puoi utilizzare le funzioni HTTP per richiamare la funzione tramite una richiesta HTTP(S). Gli esempi seguenti generano il messaggio
"Hello World!"
F#
Visual Basic
File di progetto per esempi HTTP
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 dotnet6 --trigger-http --allow-unauthenticated
Visual Basic
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 tua 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.
F#
Visual Basic
Deployment delle funzioni CloudEvent
F#
gcloud functions deploy fsharp-hello-pubsub --entry-point HelloPubSubFSharp.Function --runtime dotnet6 --trigger-topic my-topic --allow-unauthenticated
Visual Basic
gcloud functions deploy vb-hello-pubsub --entry-point HelloPubSubVb.CloudFunction --runtime dotnet6 --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 qualcosa di simile a questo, 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'