Anda dapat terhubung ke instance Redis dari Cloud Functions menggunakan Akses VPC Serverless.
Penyiapan
Jika sudah menginstal Google Cloud CLI dan telah membuat instance Redis, Anda dapat melewati langkah-langkah ini.
Instal gcloud CLI dan lakukan inisialisasi:
gcloud init
Ikuti Panduan Memulai untuk membuat instance Redis. Catat zona, alamat IP, dan port instance Redis.
Mengonfigurasi Akses VPC Serverless
Untuk terhubung dari Cloud Functions ke jaringan VPC yang diberi otorisasi oleh instance Redis, Anda harus menyiapkan Akses VPC Tanpa Server.
Temukan jaringan yang diizinkan instance Redis Anda dengan menjalankan perintah:
gcloud redis instances describe INSTANCE_ID --region REGION
Ikuti petunjuk dalam artikel Membuat konektor untuk membuat konektor Akses VPC Serverless. Pastikan Anda membuat konektor di region yang sama tempat Anda ingin men-deploy fungsi, dan pastikan konektor terpasang ke jaringan VPC yang diberi otorisasi oleh instance Redis. Ingat nama konektornya.
Fungsi contoh
Fungsi contoh ini membuat koneksi ke instance Redis dari Cloud Functions.
Clone repositori untuk bahasa pemrograman yang Anda inginkan dan buka folder yang berisi kode contoh:
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/functions/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/functions/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/functions/memorystore/redis
Kode contoh menambahkan penghitung Redis setiap kali fungsi dipicu:
Go
Fungsi ini menggunakan klien github.com/gomodule/redigo/redis
.
Node.js
Fungsi ini menggunakan modul
redis
.
Python
Fungsi ini menggunakan
paket redis-py
.
Men-deploy contoh ke Cloud Functions
Deploy fungsi menggunakan Google Cloud CLI:
Go
gcloud functions deploy visit-count \ --gen2 \ --region=REGION \ --runtime=go116 \ --source=. \ --entry-point=VisitCount \ --trigger-http \ --vpc-connector=projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME \ --set-env-vars=REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
Node.js
gcloud functions deploy visit-count \ --gen2 \ --region=REGION \ --runtime=nodejs16 \ --source=. \ --entry-point=visitCount \ --trigger-http \ --vpc-connector=projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME \ --set-env-vars=REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
Python
gcloud functions deploy visit-count \ --gen2 \ --region=REGION \ --runtime=python310 \ --source=. \ --entry-point=visit_count \ --trigger-http \ --vpc-connector=projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME \ --set-env-vars=REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
dengan:
PROJECT_ID
adalah ID project Google Cloud Anda.REGION
adalah region tempat Anda ingin men-deploy fungsi.CONNECTOR_NAME
adalah nama konektor Anda.REDIS_IP
danREDIS_PORT
adalah alamat IP dan nomor port instance Redis Anda.
Setelah deployment fungsi selesai, ambil URL fungsi Anda:
gcloud functions describe visit-count \ --gen2 \ --region=REGION \ --format="value(serviceConfig.uri)"
Anda dapat melihat penghitung meningkat setiap kali Anda memicu fungsi dengan mengirim permintaan GET
ke URL-nya.