Linguaggi .NET
È possibile scrivere la funzione utilizzando diversi linguaggi .NET (C#, Visual Basic o F#). L'attività principale è la stessa in tutte le lingue: crea una classe implementando una delle interfacce del framework di 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 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 tipizzata per Visual Basic, devi eseguire:
dotnet new gcf-untyped-event -lang vb
Esempi di funzioni HTTP
Puoi utilizzare le funzioni HTTP per richiamare
della funzione tramite una richiesta HTTP(S). Gli esempi seguenti stampano il messaggio
"Hello World!"
F#
Visual Basic
File di progetto per esempi HTTP
Di seguito sono riportati i file di progetto per gli esempi precedenti:
F#
Visual Basic
Deployment delle funzioni HTTP
F#
gcloud functions deploy fsharp-helloworld --no-gen2 --entry-point HelloWorldFSharp.Function --runtime dotnet6 --trigger-http --allow-unauthenticated
Visual Basic
gcloud functions deploy vb-helloworld --no-gen2 --entry-point HelloWorldVb.CloudFunction --runtime dotnet6 --trigger-http --allow-unauthenticated
Esempi di CloudEvent
Puoi utilizzare le funzioni CloudEvent quando vuoi richiamare la tua funzione Cloud Run indirettamente in risposta a una richiesta come un messaggio su 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 dotnet6 --trigger-topic my-topic --allow-unauthenticated
Visual Basic
gcloud functions deploy vb-hello-pubsub --no-gen2 --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 una schermata simile a questa, con un messaggio che include il nome pubblicate 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'