Tujuan
Tulis, deploy, dan picu HTTP Cloud Function yang mengakses Spanner.
Biaya
Dokumen ini menggunakan Spanner dan Cloud Run, yang merupakan komponen Google Cloudyang dapat ditagih.
Untuk mengetahui informasi tentang biaya penggunaan Spanner, lihat Harga Spanner.
Untuk informasi tentang biaya penggunaan Cloud Run, termasuk pemanggilan gratis, lihat Harga Cloud Run.
Sebelum memulai
Dokumen ini mengasumsikan bahwa Anda memiliki instance Spanner bernama
test-instance
dan database bernamaexample-db
yang menggunakan skema aplikasi musik. Untuk petunjuk tentang cara membuat instance dan database dengan skema aplikasi musik, lihat Panduan memulai menggunakan konsol atau tutorial Mulai di Node.js, atau Python.Aktifkan Cloud Run Functions, Cloud Run, dan Cloud Build API.
Instal dan lakukan inisialisasi gcloud CLI.
Jika Anda sudah menginstal gcloud CLI, update dengan menjalankan perintah berikut:
gcloud components update
Menyiapkan lingkungan pengembangan:
Node.js
Lihat panduan penyiapan Node.js.
Python
Lihat panduan penyiapan Python.
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 contoh sebagai file ZIP dan mengekstraknya.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Atau, Anda dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Beralihlah ke direktori yang berisi kode contoh fungsi Cloud Run untuk mengakses Spanner:
Node.js
cd nodejs-docs-samples/functions/spanner
Python
cd python-docs-samples/functions/spanner
Lihat kode contoh:
Node.js
Python
Fungsi ini mengirim kueri SQL untuk mengambil semua data
Albums
dari database Anda. 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 spanner
:
Node.js
gcloud beta run deploy nodejs-spanner-function \
--source . \
--region REGION \
--function spannerQuickstart \
--base-image RUNTIME_ID \
--log-http
Python
gcloud beta run deploy python-spanner-function \
--source . \
--region REGION \
--function spanner_read_data \
--base-image RUNTIME_ID \
--log-http
Ganti:
REGION dengan nama regionGoogle Cloud tempat Anda ingin men-deploy fungsi (misalnya,
us-west1
).RUNTIME_ID dengan ID runtime yang sesuai (misalnya,
nodejs22
). Lihat Runtime bahasa dan image dasar yang didukung.
Deployment fungsi mungkin memerlukan waktu hingga dua menit.
Perhatikan bahwa nilai url
yang ditampilkan saat fungsi Anda selesai di-deploy. Anda akan menggunakannya saat memicu fungsi.
Anda dapat melihat fungsi yang di-deploy di halaman Cloud Run 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:
curl URL
Ganti URL dengan nilai URL yang ditampilkan saat fungsi Anda selesai di-deploy.
Anda akan melihat output yang menampilkan hasil kueri SQL, dengan asumsi Anda telah menyelesaikan tutorial Memulai dan mengisi database:
SingerId: 2, AlbumId: 2, AlbumTitle: Forever Hold Your Peace
SingerId: 1, AlbumId: 2, AlbumTitle: Go, Go, Go
SingerId: 2, AlbumId: 1, AlbumTitle: Green
SingerId: 2, AlbumId: 3, AlbumTitle: Terrified
SingerId: 1, AlbumId: 1, AlbumTitle: Total Junk
Anda juga dapat membuka URL fungsi di browser untuk melihat hasil kueri SQL.
Pembersihan
Agar tidak menimbulkan biaya tambahan pada akun Google Cloud Anda untuk resource fungsi Spanner dan Cloud Run yang digunakan dalam dokumen ini:
Hapus instance:
gcloud CLI instances delete test-instance
Hapus layanan Cloud Run yang Anda deploy dalam tutorial ini:
Node.js
gcloud run services delete nodejs-spanner-function
Python
gcloud run services delete python-spanner-function
Langkah berikutnya
- Pelajari lebih lanjut cara menulis fungsi Cloud Run.
- Pelajari lebih lanjut cara men-deploy fungsi Cloud Run.
- Pelajari lebih lanjut cara memicu fungsi Cloud Run.