sql >> Databasteknik >  >> NoSQL >> Redis

Hur man ansluter till Redis-instans (memorystore) från Googles standardappmotor (Python 3.7)

Ansluta till en Redis-instans från en App Engine-standardmiljöapplikation och App Engine Flex-applikation 2020

1. Ladda ner och installera Cloud SDK.

2.Om du redan har Cloud SDK installerat, uppdatera den genom att köra följande kommando:

gcloud components update

3.Skapa ett nytt projekt:

gcloud projects create [YOUR_PROJECT_ID] --set-as-default

4.Verifiera att projektet skapades:

gcloud projects describe [YOUR_PROJECT_ID]     

5. Ställ in projektet du just har skapat:

gcloud config set core/project PROJECT_ID

6. Initiera din App Engine-app med ditt projekt och välj dess region:

gcloud app create --project=[YOUR_PROJECT_ID]

7. När du uppmanas, välj den region där du vill att din App Engine-applikation ska placeras. Kom ihåg regionen, vi skapar Redis Instance och VPC-anslutningen i samma region. My App Engine Application på europe-west2

8. Se till att fakturering är aktiverat för ditt projekt. Ett faktureringskonto måste vara länkat till ditt projekt för att applikationen ska kunna distribueras till App Engine.

9.Installera följande förutsättningar:

a. Ladda ner och installera Git

b. Kör följande kommando för att installera gcloud-komponenten som inkluderar App Engine-tillägget för Python 3.7:

gcloud components install app-engine-python

c.Förbered din miljö för Python-utveckling

10.Skapa Memorystore för Redis-instansen. Ange följande kommando för att skapa en 2 GiB Basic Tier Redis-instans i 'europe-west2'-regionen

gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0

11.När instansen har skapats anger du kommandot describe för att få instansens IP-adress och port. Du kommer att använda värdena för värd och port för att ansluta till instansen. Hitta även din Redis-instanss auktoriserade nätverk

gcloud redis instances describe myinstance --region=europe-west2

12. Konfigurera serverlös VPC-åtkomst. Se till att du skapar anslutningen i samma region som din app och din Redis-instans, och se till att anslutningen är ansluten till Redis-instansens auktoriserade VPC-nätverk. Kom ihåg namnet på kontakten.

13. Se till att Serverless VPC Access API är aktiverat för ditt projekt:

gcloud services enable vpcaccess.googleapis.com

14.Skapa en anslutning med kommandot:

gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28

15. Verifiera att din kontakt är i läget READY innan du använder det, utgången bör innehålla linjetillståndet:READY .

16.Klona förvaret för python.

git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis

17.Förbereda applikationen för distribution App Engine Standard .Uppdatera appens konfiguration för att ange din Serverless VPC Access-anslutning och IP-adressen och porten för din Redis-instans:

 cd gae_standard_deployment/
 cat app.yaml

runtime: python37
entrypoint: gunicorn -b :$PORT main:app

# Update with Redis instance details
env_variables:
  REDISHOST: '<REDIS_IP>'
  REDISPORT: '6379'

# Update with Serverless VPC Access connector details
vpc_access_connector:
  name: 'projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME>'

18. Distribuera applikationen till App Engines standardmiljö

cd ..
cp gae_standard_deployment/app.yaml .

19.Kör kommandot deploy

gcloud beta app deploy

20. När implementeringen är klar besöker du din app på följande webbadress och ersätter [PROJECT_ID] med ditt Google Cloud-projekt-ID.

Visitor number: 4

FRAMGÅNG!

21.Förbereda applikationen för distribution App Engine Flex .Uppdatera appens konfiguration för att ange IP-adressen och porten för din Redis-instans:

cd gae_flex_deployment/
cat app.yaml

cp gae_flex_deployment/app.yaml .


runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

# Update with Redis instance IP and port
env_variables:
  REDISHOST: '<REDIS_IP>'
  REDISPORT: '6379'

# Update with Redis instance network name
network:
  name: default

22.Distribuera applikationen till App Engines standardmiljö

cd ..
cp gae_flex_deployment/app.yaml .

23.Kör kommandot deploy

gcloud beta app deploy

24. När implementeringen är klar, besök din app på följande webbadress och ersätt [PROJECT_ID] med ditt Google Cloud-projekt-ID.

Visitor number: 4

FRAMGÅNG!



  1. MongoDB $dayOfMonth

  2. MongoDb med FastAPI

  3. Redis inskrivna transaktioner

  4. Gruppuppsättning efter varva ner och matcha