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
Per esempi di F# e Visual Basic, consulta Linguaggi.NET.
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!"
File di progetto per gli esempi HTTP
Di seguito sono riportati i file di progetto per gli esempi precedenti:
Eseguire il deployment delle funzioni HTTP
gcloud functions deploy fsharp-helloworld --entry-point HelloWorldFSharp.Function --runtime dotnet8 --trigger-http --allow-unauthenticated
gcloud functions deploy vb-helloworld --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.
Eseguire il deployment delle funzioni CloudEvent
gcloud functions deploy fsharp-hello-pubsub --entry-point HelloPubSubFSharp.Function --runtime dotnet8 --trigger-topic my-topic --allow-unauthenticated
gcloud functions deploy vb-hello-pubsub --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'