Membuat dan men-deploy fungsi Cloud Run HTTP dengan .NET (generasi ke-1)
Panduan ini akan memandu Anda dalam proses penulisan fungsi Cloud Run menggunakan C# bahasa runtime .NET. Ada dua jenis fungsi Cloud Run:
- Fungsi yang dipicu HTTP, yang Anda panggil dari permintaan HTTP standar.
- Fungsi berbasis peristiwa, yang Anda gunakan untuk menangani peristiwa dari infrastruktur Cloud, seperti pesan di topik Pub/Sub, atau perubahan dalam bucket Cloud Storage.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Cloud Functions and Cloud Build.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Cloud Functions and Cloud Build.
- Instal dan lakukan inisialisasi gcloud CLI.
- Update dan instal komponen
gcloud
:gcloud components update
- Menyiapkan lingkungan pengembangan.
Membuat fungsi
Bagian ini menjelaskan cara membuat fungsi secara manual dari awal. Atau, Anda dapat menggunakan template yang disediakan oleh paket template.
Untuk membuat fungsi:
Buat direktori di sistem lokal Anda untuk kode fungsi:
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Linux atau Mac OS X
mkdir ~/helloworld cd ~/helloworld
Buat file bernama
Function.cs
dengan konten di bawah ini:Fungsi contoh ini menghasilkan ucapan "Halo Dunia!"
Menentukan dependensi
Langkah berikutnya adalah menyiapkan dependensi. Ada dua jenis dependensi berbeda yang dapat Anda siapkan di fungsi Cloud Run C#:
- Sediakan Framework Functions. Itulah tugas yang Anda lakukan di bagian ini.
- Sediakan library lain, baik dari segi file project maupun dalam kode melalui injeksi dependensi. Untuk mempelajari lebih lanjut, lihat Penyesuaian melalui class Startup Functions.
Untuk menyediakan Framework Functions, ubah direktori ke direktori helloworld
yang Anda buat di atas:
cd ~/helloworld
Kemudian buat file bernama HelloWorld.csproj
dengan konten di bawah ini:
Men-deploy cloud function
Untuk men-deploy fungsi dengan pemicu HTTP, jalankan perintah berikut di direktori helloworld
:
gcloud functions deploy --no-gen2 my-first-function --entry-point HelloWorld.Function --runtime dotnet8 --trigger-http --allow-unauthenticated
dengan my-first-function
adalah nama terdaftar yang akan digunakan untuk mengidentifikasi fungsi Anda di Konsol Google Cloud, dan --entry-point
menentukan nama class yang sepenuhnya memenuhi syarat (FQN) dari fungsi Anda.
Menguji fungsi yang di-deploy
Setelah fungsi selesai di-deploy, catat properti
httpsTrigger.url
atau temukan menggunakan perintah berikut:gcloud functions describe my-first-function
Kodenya akan terlihat seperti berikut:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/my-first-function
Kunjungi URL ini di browser Anda. Anda akan melihat pesan
Hello World!
.
Lihat log
Log untuk fungsi Cloud Run dapat dilihat menggunakan Google Cloud CLI, dan di UI Cloud Logging.
Menggunakan alat command line
Untuk melihat log fungsi Anda dengan gcloud CLI, gunakan perintah logs read
, diikuti dengan nama fungsi:
gcloud functions logs read my-first-function
Output akan terlihat seperti berikut:
LEVEL NAME EXECUTION_ID TIME_UTC LOG D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.791 Function execution started D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.958 Function execution took 168 ms, finished with status code: 200 ...
Menggunakan dasbor Logging
Anda juga dapat melihat log untuk fungsi Cloud Run dari Konsol Google Cloud.
Menggunakan paket template
Bagian di atas memberi tahu Anda cara membuat fungsi secara manual dari awal. Ke depannya, Anda mungkin akan menggunakan template untuk membuat fungsi baru.
Untuk menggunakan template guna membuat, membuat, dan menguji fungsi:
Instal .NET SDK.
Instal paket template:
dotnet new install Google.Cloud.Functions.Templates
Selanjutnya, buat direktori untuk project Anda, dan gunakan
dotnet new
untuk membuat fungsi HTTP baru:mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Tindakan ini akan membuat
HelloFunctions.csproj
danFunction.cs
dalam direktori saat ini. BukaFunction.cs
untuk meninjau kode, dan berikan pesan kustom jika ingin.Build fungsi Anda secara lokal seperti berikut:
dotnet run
Setelah server berjalan, jelajahi
http://localhost:8080
untuk memanggil fungsi. Tekan Ctrl-C di konsol untuk menghentikan server.Fungsi ini menampilkan pesan "Hello Functions Framework".
Atau, Anda dapat mengirim permintaan ke fungsi ini menggunakan curl
dari jendela terminal lain:
curl localhost:8080
# Output: Hello Functions Framework