Tutorial ini menunjukkan penulisan HTTP Cloud Function yang mengirimkan kueri ke BigQuery.
Tujuan
- Tulis HTTP Cloud Function yang mengirimkan kueri ke BigQuery.
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
- Cloud Functions
- Cloud Build
- Artifact Registry
Untuk detailnya, lihat Harga Cloud Functions.
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
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.
-
Aktifkan API Cloud Functions, Cloud Build, and Artifact Registry.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Functions, Cloud Build, and Artifact Registry.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Menyiapkan lingkungan pengembangan.
Jika Anda sudah menginstal gcloud CLI, update dengan menjalankan perintah berikut:
gcloud components update
Menyiapkan aplikasi
Clone repositori aplikasi contoh ke komputer lokal Anda:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Anda juga dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Ubah ke direktori yang memuat kode contoh Cloud Functions:
cd nodejs-docs-samples/functions/v2/helloBigQuery
Lihat kode contoh: Sampel mengirimkan kueri untuk kata yang terjadi setidaknya 400 kali dalam set data yang ditentukan, dan menampilkan hasilnya.
Men-deploy fungsi
Untuk men-deploy fungsi dengan pemicu HTTP, jalankan perintah berikut di direktori yang berisi kode contoh:
gcloud functions deploy nodejs-bq-function \ --gen2 \ --runtime=nodejs20 \ --region=REGION \ --source=. \ --entry-point=helloBigQuery \ --trigger-http \ --allow-unauthenticated
Anda dapat menggunakan nilai berikut untuk flag --runtime
guna menentukan versi Node.js pilihan Anda:
nodejs18
(direkomendasikan)nodejs16
nodejs14
nodejs12
nodejs10
Flag --allow-unauthenticated
memungkinkan Anda menjangkau fungsi tanpa autentikasi.
Untuk mewajibkan autentikasi, hilangkan flag.
Memicu fungsi
Setelah fungsi selesai di-deploy, catat properti
uri
atau temukan menggunakan perintah berikut:gcloud functions describe nodejs-bq-function --gen2 --region=REGION --format="value(serviceConfig.uri)"
Kunjungi URI ini di browser Anda. Anda akan melihat daftar kata yang cocok dengan kriteria kueri, dan berapa kali setiap kata muncul di set data target.
Pembersihan
Agar tidak dikenakan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource-nya.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus Cloud Function
Menghapus Cloud Functions tidak akan menghapus resource apa pun yang tersimpan di Cloud Storage.
Untuk menghapus Cloud Function yang Anda buat dalam tutorial ini, jalankan perintah berikut:
gcloud functions delete nodejs-bq-function --gen2 --region REGION
Anda juga dapat menghapus Cloud Functions dari Konsol Google Cloud.