Os aplicativos do App Engine precisam estar na mesma rede autorizada da instância do Redis para serem acessados.
Configuração
Se você já instalou a Google Cloud CLI e criou um Redis é possível pular essas etapas.
Instale a CLI gcloud e inicialize:
gcloud init
Siga o Guia de início rápido para criar uma instância do Redis. Anote a zona, o endereço IP e a porta da instância do Redis.
Aplicativo de amostra
Este aplicativo de servidor HTTP de amostra estabelece uma conexão com uma instância do Redis usando uma instância do ambiente flexível do App Engine.
Clone o repositório da linguagem de programação pretendida e navegue até a pasta que contém o código de amostra:
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
Este aplicativo de amostra incrementa um contador do Redis sempre que o endpoint
/
é acessado.
Go
Este aplicativo usa o cliente
github.com/gomodule/redigo/redis
. Instale-o executando o comando a seguir:
go get github.com/gomodule/redigo/redis
Java
Esta aplicação é baseada em servlets do Jet 3.1.
Ele usa a biblioteca Jedis (em inglês):
A classe AppServletContextListener
é usada para criar um pool de conexão
Redis de longa duração:
A classe VisitCounterServlet
é um servlet da Web que incrementa um
contador do Redis:
Node.js
Este aplicativo usa o módulo redis
(em inglês).
Python
Este aplicativo usa o Flask
para veiculação na Web e o pacote redis-py
(links em inglês) para se comunicar com a instância do Redis.
Como preparar o aplicativo para implantação
Para acessar a instância do Redis, a instância do App Engine precisa ser implantada na mesma rede que a instância do Redis, e você precisa fornecer os detalhes de conexão da instância do Redis. Para encontrar a rede, o endereço IP e a porta autorizados da sua instância do Redis, execute o comando a seguir:
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
Crie um aplicativo do App Engine.
Atualize a configuração do aplicativo para especificar o endereço IP, a porta e a rede da sua instância do Redis:
Go
Atualize o arquivo
gae_flex_deployment/app.yaml
:Para saber mais detalhes, consulte Como configurar o aplicativo com app.yaml.
Java
Atualize o arquivo
gae_flex_deployment/app.yaml
para especificar a rede da instância do Redis:E atualize o arquivo
src/main/resources/application.properties
com o endereço IP e a porta da sua instância do Redis:Para mais informações sobre como configurar seu aplicativo, consulte Como configurar seu aplicativo com app.yaml.
Node.js
Atualize o arquivo
gae_flex_deployment/app.yaml
:Para saber mais detalhes, consulte Como configurar o aplicativo com app.yaml.
Python
Atualize o arquivo
gae_flex_deployment/app.yaml
:Para saber mais detalhes, consulte Como configurar o aplicativo com app.yaml.
Como implantar o aplicativo no ambiente flexível do App Engine
Para implantar o aplicativo:
Copie os arquivos de configuração necessários para o diretório de origem:
Go
Copie o arquivo
app.yaml
para o diretório de origem:cp gae_flex_deployment/app.yaml .
Java
Copie o arquivo
app.yaml
para o diretório de origem:mkdir -p src/main/appengine cp gae_flex_deployment/app.yaml src/main/appengine/
Node.js
Copie o arquivo
app.yaml
para o diretório de origem:cp gae_flex_deployment/app.yaml .
Python
Copie o arquivo
app.yaml
para o diretório de origem:cp gae_flex_deployment/app.yaml .
Execute o comando de implantação:
Go
gcloud app deploy
Isso pode levar alguns minutos.
Java
mvn appengine:deploy
Isso pode levar alguns minutos.
Node.js
gcloud app deploy
Isso pode levar alguns minutos.
Python
gcloud app deploy
Isso pode levar alguns minutos.
Após a conclusão da implantação, acesse o aplicativo no URL a seguir,
substituindo [PROJECT_ID]
pelo código do projeto do Google Cloud:
https://[PROJECT_ID].appspot.com
A contagem na sua instância do Redis aumenta sempre que o aplicativo é acessado.