Puoi connetterti a un'istanza Redis da Cloud Run Functions utilizzando Accesso VPC serverless.
Configurazione
Se hai già installato Google Cloud CLI e hai creato un database Redis Ad esempio, puoi saltare questi passaggi.
Installa l'interfaccia a riga di comando gcloud e inizializza:
gcloud init
Segui la guida rapida. per creare un'istanza Redis. Prendi nota della zona, dell'indirizzo IP e della porta l'istanza Redis.
Configurazione dell'accesso VPC serverless
Per connetterti dalle funzioni Cloud Run alla rete VPC autorizzata dell'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 alla pagina Creazione di un connettore per creare un connettore di accesso VPC serverless. Assicurati di il connettore nella stessa regione in cui vuoi eseguire il deployment e assicurati che il connettore sia collegato all'istanza di Redis rete VPC autorizzata. Ricorda il nome del connettore.
Funzione di esempio
Questa funzione di esempio stabilisce una connessione a un'istanza Redis dalle funzioni Cloud Run.
Clona il repository per il linguaggio di programmazione desiderato ed esplora 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 di esempio incrementa un contatore Redis ogni volta che viene attivata la funzione:
Vai
Questa funzione utilizza
github.com/gomodule/redigo/redis
di alto profilo.
Node.js
Questa funzione utilizza il modulo redis
.
Python
Questa funzione utilizza il pacchetto redis-py
.
Eseguire il deployment del sample nelle funzioni Cloud Run
Esegui il deployment della funzione utilizzando Google Cloud CLI:
Vai
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
dove:
PROJECT_ID
è l'ID del tuo progetto Google Cloud.REGION
è la regione in cui vuoi eseguire il deployment della funzione.CONNECTOR_NAME
è il nome del tuo connettore.REDIS_IP
eREDIS_PORT
sono l'indirizzo IP e il numero di porta dell'istanza Redis.
Al termine del deployment della funzione, recupera l'URL della funzione:
gcloud functions describe visit-count \ --gen2 \ --region=REGION \ --format="value(serviceConfig.uri)"
Puoi vedere l'aumento del contatore ogni volta che attivi la funzione inviando
una richiesta GET
al relativo URL.