Membuat dan men-deploy HTTP Cloud Function menggunakan Python (generasi ke-1)
Panduan ini akan membawa Anda melalui proses penulisan Cloud Function menggunakan runtime Python. Ada dua jenis Cloud Functions:
- Fungsi HTTP, yang Anda panggil dari permintaan HTTP standar.
- Fungsi berbasis peristiwa, yang Anda gunakan untuk menangani peristiwa dari infrastruktur Cloud, seperti pesan pada topik Pub/Sub, atau perubahan dalam bucket Cloud Storage.
Contoh ini menunjukkan cara membuat fungsi HTTP sederhana.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the Cloud Functions and Cloud Build APIs.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the Cloud Functions and Cloud Build APIs.
- Instal dan lakukan inisialisasi gcloud CLI.
- Update dan instal komponen
gcloud
:gcloud components update
- Siapkan lingkungan pengembangan Anda.
Membuat cloud function
Buat direktori di sistem lokal Anda untuk kode fungsi:
Linux atau Mac OS X
mkdir ~/helloworld cd ~/helloworld
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Buat file bernama
main.py
di direktorihelloworld
dengan konten berikut:Fungsi contoh ini mengambil nama yang diberikan dalam permintaan HTTP dan menampilkan salam, atau "Halo Dunia!" jika tidak ada nama yang diberikan.
Menentukan dependensi
Dependensi pada Python dikelola dengan pip dan dinyatakan dalam file metadata
yang disebut
requirements.txt
.
File ini harus berada di direktori yang sama dengan file main.py
yang berisi kode fungsi Anda.
Namun, misalkan Anda ingin menambahkan dependensi Anda sendiri, Anda tidak perlu membuat requirements.txt
untuk menjalankan contoh khusus ini. Berikut ini cara melakukannya:
Buat file
requirements.txt
di direktorihelloworld
.Tambahkan dependensi fungsi ke file
requirements.txt
Anda, misalnya:# An example requirements file, add your dependencies below sampleproject==2.0.0
Men-deploy cloud function
Untuk men-deploy fungsi dengan pemicu HTTP, jalankan perintah
berikut di direktori helloworld
:
gcloud functions deploy hello_http --runtime python312 --trigger-http --allow-unauthenticated
Flag --allow-unauthenticated
memungkinkan Anda menjangkau fungsi tanpa autentikasi.
Untuk mewajibkan autentikasi, hilangkan flag.
Menguji function
Setelah fungsi selesai di-deploy, catat properti
httpsTrigger.url
atau temukan menggunakan perintah berikut:gcloud functions describe hello_http
Kodenya akan terlihat seperti berikut:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/hello_http
Kunjungi URL ini di browser Anda. Anda akan melihat pesan "Halo Dunia!".
Coba teruskan nama dalam permintaan HTTP, misalnya dengan menggunakan URL berikut:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/hello_http?name=NAME
Anda akan melihat pesan "Halo
NAME
!"
Melihat log
Log untuk Cloud Functions 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 hello_http
Output akan terlihat seperti berikut:
LEVEL NAME EXECUTION_ID TIME_UTC LOG D hello_http pdb5ys2t022n 2019-09-18 23:29:09.791 Function execution started D hello_http pdb5ys2t022n 2019-09-18 23:29:09.798 Function execution took 7 ms, finished with status code: 200
Menggunakan dasbor Logging
Anda juga dapat melihat log untuk Cloud Functions dari Konsol Google Cloud.