To trochę trudne, ale oto, co mi się udało. Pomogę Ci skonfigurować Quickstart App Engine z psycopg2, a potem zrozumiesz pomysł.
Skorzystaj z Quickstart for Python w elastycznym środowisku App Engine dokumentację, aby skonfigurować i wdrożyć aplikację.
Użyj Łączenie z App Engine dokumentację dotyczącą połączenia aplikacji App Engine z Cloud SQL Postgre SQL.
Wprowadziłem niewielkie modyfikacje, aby to działało:
W app.yaml
dodaj:
beta_settings:
cloud_sql_instances: [INSTANCE_CONNECTION_NAME]=tcp:5432
#[INSTANCE_CONNECTION_NAME] = [PROJECT_NAME]:[INSTANCE_ZONE]:[INSTANCE_NAME]
#[INSTANCE_CONNECTION_NAME] can be found at Google Cloud Console Cloud SQL's instance page, under "Instance connection name".
W requirements.txt
dodaj:
psycopg2
psycopg2-binary
W main.py
dodaj:
@app.route('/connect')
def connect():
try:
#host='172.17.0.1' is the defult IP for the docker container that it is being created during the deployment of the App Engine
conn = psycopg2.connect("dbname='postgres' user='postgres' host='172.17.0.1' password='test'")
return "Connection was established!"
except:
return "I am unable to connect to the database"
Użyj gcloud app deploy
polecenie, aby wdrożyć aplikację.
Po wdrożeniu użyj gcloud app browse
polecenie, aby otworzyć aplikację w przeglądarce.
Podczas uzyskiwania dostępu do linku https://[PROJECT_ID].appspot.com/connect
Powinien odpowiedzieć Connection was established!