PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como configurar o psycopg2 com o banco de dados PostgreSQL do Google App Engine


É 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!