Puoi connetterti a un'istanza Redis dalle funzioni Cloud Run utilizzando l'accesso VPC serverless.
Configurazione
Se hai già installato Google Cloud CLI e creato un'istanza Redis, puoi saltare questi passaggi.
Installa gcloud CLI e inizializza:
gcloud init
Segui la guida rapida per creare un'istanza Redis. Prendi nota della zona, dell'indirizzo IP e della porta dell'istanza Redis.
Configurazione dell'accesso VPC serverless
Per connetterti dalle tue funzioni Cloud Run alla rete VPC autorizzata della tua istanza Redis, devi configurare l'accesso VPC serverless.
Trova la rete autorizzata dell'istanza Redis eseguendo il comando:
gcloud redis instances describe INSTANCE_ID --region REGION
Segui le istruzioni riportate in Creazione di un connettore per creare un connettore di accesso VPC serverless. Assicurati di creare il connettore nella stessa regione in cui vuoi eseguire il deployment della funzione e che sia collegato alla rete VPC autorizzata dell'istanza Redis. Ricorda il nome del connettore.
Funzione SAMPLE
Questa funzione di esempio stabilisce una connessione a un'istanza Redis da Cloud Run Functions.
Clona il repository per il linguaggio di programmazione che preferisci e vai alla cartella che contiene il codice campione:
Vai
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
Il codice campione incrementa un contatore Redis ogni volta che viene attivata la funzione:
Vai
Questa funzione utilizza il
client github.com/gomodule/redigo/redis
.
Node.js
Questa funzione utilizza il modulo redis
.
Python
Questa funzione utilizza il pacchetto
redis-py
.
Deployment dell'esempio in Cloud Run Functions
Esegui il deployment della funzione utilizzando Google Cloud CLI:
Vai
gcloud run deploy visit-count \ --region=REGION \ --source=. \ --base-image=BASE_IMAGE \ --function=VisitCount \ --vpc-connector=projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME \ --set-env-vars=REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
Node.js
gcloud run deploy visit-count \ --region=REGION \ --source=. \ --base-image=BASE_IMAGE \ --entry-point=visitCount \ --vpc-connector=projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME \ --set-env-vars=REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
Python
gcloud run deploy visit-count \ --region=REGION \ --source=. \ --base-image=BASE_IMAGE \ --function=visit_count \ --vpc-connector=projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME \ --set-env-vars=REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
Sostituisci:
REGION
con la regione in cui vuoi eseguire il deployment della funzione.BASE_IMAGE
con l'immagine di base per la funzione, ad esempiogo116
,nodejs16
opython310
. Per ulteriori informazioni, consulta Runtime e immagini di base delle lingue supportate.PROJECT_ID
con l'ID del tuo progetto Google Cloud .CONNECTOR_NAME
con il nome del connettore.REDIS_IP
eREDIS_PORT
con l'indirizzo IP e il numero di porta dell'istanza Redis.
Al termine del deployment della funzione, recupera l'URL della funzione:
gcloud run services describe visit-count \ --region=REGION \
Puoi vedere il contatore aumentare ogni volta che attivi la funzione inviando
una richiesta GET
al suo URL.