.NET-Sprachen
Sie können die Funktion in verschiedenen .NET-Sprachen (C#, Visual Basic oder F#) schreiben. Die Hauptaufgabe ist in allen Sprachen gleich: Sie erstellen eine Klasse, die eine der Functions Framework-Schnittstellen implementiert:
IHttpFunction
- Die generische
ICloudEvent<T>
- Die nicht generische
ICloudEvent
Dieses Dokument enthält Beispiele für F# und Visual Basic.
Vorlagen
Zum Ausführen der Beispiele in diesem Dokument verwenden Sie die Vorlagen:
Installieren Sie das .NET SDK.
Installieren Sie das Vorlagenpaket:
dotnet new install Google.Cloud.Functions.Templates
Für die drei Arten von Funktionen in C# (Standardeinstellung), F# und Visual Basic werden Vorlagen bereitgestellt. Geben Sie beim Erstellen eines neuen Projekts aus einer Vorlage -lang f#
an, um ein F#-Projekt zu erstellen, oder -lang vb
, um ein Visual Basic-Projekt zu erstellen. Wenn Sie beispielsweise eine neue CloudEvent-Funktion ohne Typ für Visual Basic erstellen möchten, führen Sie Folgendes aus:
dotnet new gcf-untyped-event -lang vb
Beispiele für HTTP-Funktionen
Wenn Sie Ihre Funktion über eine HTTP(S)-Anfrage aufrufen möchten, verwenden Sie HTTP-Funktionen. In den folgenden Beispielen wird die Nachricht "Hello World!"
ausgegeben.
F#
Visual Basic
Projektdateien für HTTP-Beispiele
Hier sind die Projektdateien für die obigen Beispiele:
F#
Visual Basic
HTTP-Funktionen bereitstellen
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
CloudEvent-Beispiele
Sie verwenden CloudEvent-Funktionen, wenn die Cloud Run Functions-Funktion indirekt als Reaktion auf ein asynchrones Ereignis wie eine Nachricht in einem Pub/Sub-Thema, eine Änderung in einem Cloud Storage-Bucket oder ein Firebase-Ereignis aufgerufen werden soll.
F#
Visual Basic
CloudEvent-Funktionen bereitstellen
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
CloudEvent-Beispiele testen
So können Sie die CloudEvent-Beispiele testen:
Veröffentlichen Sie eine Nachricht in Ihrem Pub/Sub-Thema, um die Funktion auszulösen:
gcloud pubsub topics publish my-topic --message Flurry
Sehen Sie sich die Logs an:
gcloud functions logs read --limit 10
Sie sollten in etwa so etwas mit einer Nachricht mit dem Namen sehen, den Sie im Pub/Sub-Thema veröffentlicht haben:
D my-function ... Function execution started
I my-function ... Hello Flurry!
D my-function ... Function execution took 39 ms, finished with status: 'ok'