É um pouco complicado, mas aqui está o que funcionou para mim. Vou ajudá-lo a configurar o Quickstart App Engine com psycopg2 e depois disso você terá a ideia.
Use o Guia de início rápido para Python no ambiente flexível do App Engine documentação para configurar e implantar seu aplicativo.
Use o Conexão do App Engine documentação para conectar seu aplicativo do App Engine ao Cloud SQL Postgre SQL.
Eu fiz pequenas modificações para fazer esse trabalho:
Em
app.yaml
adicionar: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".
Em
requirements.txt
adicionar:psycopg2
psycopg2-binary
Em
main.py
adicionar:@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"
Use o
gcloud app deploy
comando para implantar seu aplicativo. Após a implantação, use o
gcloud app browse
comando para abrir o aplicativo no navegador. Ao acessar o link
https://[PROJECT_ID].appspot.com/connect
Ele deve responder com Connection was established!