Linguaggi .NET
È possibile scrivere la funzione utilizzando diversi linguaggi .NET (C#, Visual Basic o F#). L'attività di base è la stessa in tutte le lingue: crei una classe che implementa una delle interfacce del framework Functions:
IHttpFunction
- Il generico
ICloudEvent<T>
- Il valore non generico
ICloudEvent
Questo documento fornisce esempi per F# e Visual Basic.
Modelli
Tieni presente che per eseguire gli esempi in questo documento, dovrai utilizzare i modelli:
Installa l'SDK.NET.
Installa il pacchetto del modello:
dotnet new install Google.Cloud.Functions.Templates
I modelli sono 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 tipizzata per Visual Basic, devi eseguire:
dotnet new gcf-untyped-event -lang vb
Esempi di funzioni HTTP
Utilizza le funzioni HTTP quando vuoi richiamare la funzione tramite una richiesta HTTP(S). Gli esempi seguenti stampano il messaggio
"Hello World!"
F#
Visual Basic
File di progetto per gli esempi HTTP
Di seguito sono riportati i file di progetto per gli esempi precedenti:
F#
Visual Basic
Eseguire il deployment delle funzioni HTTP
F#
gcloud functions deploy fsharp-helloworld --no-gen2 --entry-point HelloWorldFSharp.Function --runtime dotnet8 --trigger-http --allow-unauthenticated
Visual Basic
gcloud functions deploy vb-helloworld --no-gen2 --entry-point HelloWorldVb.CloudFunction --runtime dotnet8 --trigger-http --allow-unauthenticated
Esempi di CloudEvent
Utilizza le funzioni CloudEvent quando vuoi che la funzione Cloud Run venga richiamata indirettamente in risposta a un evento asincrono, ad esempio un messaggio in un argomento Pub/Sub, una modifica in un bucket Cloud Storage o un evento Firebase.
F#
Visual Basic
Eseguire il deployment delle funzioni CloudEvent
F#
gcloud functions deploy fsharp-hello-pubsub --no-gen2 --entry-point HelloPubSubFSharp.Function --runtime dotnet8 --trigger-topic my-topic --allow-unauthenticated
Visual Basic
gcloud functions deploy vb-hello-pubsub --no-gen2 --entry-point HelloPubSubVb.CloudFunction --runtime dotnet8 --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, 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'