Menggunakan Cloud Functions
Tujuan
Tulis, deploy, dan picu HTTP Cloud Function yang mengakses Bigtable.
Biaya
Topik ini menggunakan Bigtable dan Cloud Functions, yang merupakan komponen Google Cloud yang dapat ditagih.
Untuk informasi tentang biaya penggunaan Bigtable, lihat Harga Bigtable.
Untuk informasi tentang biaya penggunaan Cloud Functions, termasuk pemanggilan gratis, lihat Harga Cloud Functions.
Sebelum memulai
Topik ini mengasumsikan bahwa Anda memiliki instance Bigtable bernama
test-instance
dan tabel bernamatest-table
. Anda dapat membuat resource ini dengan mengikuti langkah-langkah pada Membuat tabel pengujian. Pastikan untuk menghapus resource setelah selesai untuk menghindari timbulnya biaya yang tidak perlu.Aktifkan Cloud Functions API.
Instal dan lakukan inisialisasi gcloud CLI.
Jika Anda sudah menginstal gcloud CLI, update dengan menjalankan perintah berikut:
gcloud components update
Menyiapkan lingkungan pengembangan:
Menyiapkan aplikasi
Clone repositori aplikasi contoh ke komputer lokal Anda:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Atau, Anda dapat mendownload sampel sebagai file ZIP dan mengekstraknya.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Atau, Anda dapat mendownload sampel sebagai file ZIP dan mengekstraknya.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Atau, Anda dapat mendownload sampel sebagai file ZIP dan mengekstraknya.
Beralihlah ke direktori yang berisi kode contoh Cloud Functions untuk mengakses Bigtable:
Node.js
cd nodejs-docs-samples/functions/bigtable/
Python
cd python-docs-samples/functions/bigtable/
Go
cd golang-samples/functions/bigtable/
Lihat kode contoh:
Node.js
Python
Go
Fungsi ini mengirimkan permintaan baca ke tabel untuk mengambil semua data
stats_summary
untuk baris dengan awalan row keyphone
. Fungsi ini dijalankan saat Anda membuat permintaan HTTP ke endpoint fungsi.
Menerapkan fungsi
Untuk men-deploy fungsi dengan pemicu HTTP, jalankan perintah berikut di direktori bigtable
:
Node.js
gcloud functions deploy get \ --runtime nodejs20 --trigger-http
Gunakan flag --runtime
untuk menentukan ID runtime dari versi Node.js yang didukung untuk menjalankan fungsi Anda.
Python
gcloud functions deploy bigtable_read_data \ --runtime python312 --trigger-http
Gunakan flag --runtime
untuk menentukan ID runtime
versi Python yang didukung untuk menjalankan
fungsi Anda.
Go
gcloud functions deploy BigtableRead \ --runtime go121 --trigger-http
Gunakan flag --runtime
untuk menentukan ID runtime versi Go yang didukung untuk menjalankan fungsi Anda.
Deployment fungsi mungkin memerlukan waktu hingga dua menit.
Setelah selesai di-deploy, fungsi Anda akan menampilkan nilai url
. Anda akan menggunakan nilai tersebut saat memicu fungsi.
Anda dapat melihat fungsi yang di-deploy pada halaman Cloud Functions di Konsol Google Cloud. Anda juga dapat membuat dan mengedit fungsi di halaman tersebut, serta mendapatkan detail dan diagnostik untuk fungsi Anda.
Picu fungsi
Buat permintaan HTTP ke fungsi Anda:
Node.js
curl "https://REGION-PROJECT_ID.cloudfunctions.net/get" -H "instance_id: test-instance" -H "table_id: test-table"
Python
curl "https://REGION-PROJECT_ID.cloudfunctions.net/bigtable_read_data" -H "instance_id: test-instance" -H "table_id: test-table"
Go
curl "https://REGION-PROJECT_ID.cloudfunctions.net/BigtableRead" -H "instance_id: test-instance" -H "table_id: test-table"
dengan REGION
dan PROJECT_ID
cocok dengan nilai yang terlihat di terminal Anda saat fungsi selesai di-deploy. Anda akan melihat output yang menampilkan hasil permintaan baca.
Anda juga dapat membuka URL fungsi di browser untuk melihat hasil permintaan baca Anda.
Pembersihan
Agar tidak menimbulkan biaya tambahan pada akun Google Cloud Anda untuk resource Bigtable dan Cloud Functions yang digunakan dalam topik ini:
Hapus instance:
gcloud bigtable instances delete test-instance
Hapus fungsi yang Anda deploy:
Node.js
gcloud functions delete get
Python
gcloud functions delete bigtable_read_data
Go
gcloud functions delete BigtableRead
Langkah selanjutnya
- Tinjau contoh kode Cloud Functions tambahan.
- Pelajari integrasi Cloud Functions.
- Pelajari cara menggunakan Cloud Functions dengan Memcached.