Bahasa .NET
Anda dapat menulis fungsi menggunakan bahasa .NET yang berbeda (C#, Visual Basic, atau F#). Tugas intinya sama untuk semua bahasa—Anda membuat class yang mengimplementasikan salah satu antarmuka Functions Framework:
IHttpFunction
ICloudEvent<T>
generikICloudEvent
non-generik
Dokumen ini menyediakan contoh untuk F# dan Visual Basic.
Template
Perhatikan bahwa untuk menjalankan contoh dalam dokumen ini, Anda akan menggunakan template:
Instal .NET SDK.
Instal paket template:
dotnet new install Google.Cloud.Functions.Templates
Template disediakan untuk tiga jenis fungsi di C# (default), F#, dan Visual Basic. Saat membuat project baru dari template, tentukan -lang f#
untuk membuat project F#, atau -lang vb
untuk membuat project Visual Basic. Misalnya, untuk membuat fungsi CloudEvent tak berjenis baru untuk Visual Basic, Anda akan menjalankan:
dotnet new gcf-untyped-event -lang vb
Contoh fungsi HTTP
Anda menggunakan fungsi HTTP ketika ingin memanggil fungsi melalui permintaan HTTP(S). Contoh berikut menampilkan pesan "Hello World!"
F#
Visual Basic
File project untuk contoh HTTP
Berikut adalah file project untuk contoh di atas:
F#
Visual Basic
Men-deploy fungsi 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
Contoh CloudEvent
Anda menggunakan fungsi CloudEvent saat ingin agar fungsi Cloud Run dipanggil secara tidak langsung sebagai respons peristiwa, seperti pesan pada topik Pub/Sub, perubahan pada bucket Cloud Storage, atau peristiwa Firebase.
F#
Visual Basic
Men-deploy fungsi 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
Menguji contoh CloudEvent
Anda dapat menguji contoh CloudEvent sebagai berikut:
Publikasikan pesan ke topik Pub/Sub untuk memicu fungsi Anda:
gcloud pubsub topics publish my-topic --message Flurry
Lihat log:
gcloud functions logs read --limit 10
Anda akan melihat sesuatu seperti ini, dengan pesan yang menyertakan nama yang Anda publikasikan ke topik 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'