sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo configurar psycopg2 con la base de datos PostgreSQL de Google App Engine

Es un poco complicado, pero esto es lo que funcionó para mí. Te ayudaré a configurar el Quickstart App Engine con psycopg2 y luego tendrás una idea.

Usa el Inicio rápido para Python en el entorno flexible de App Engine documentación para configurar e implementar su aplicación.

Utilice el Conexión desde App Engine documentación para conectar su aplicación App Engine a Cloud SQL Postgre SQL.

He hecho ligeras modificaciones para que funcione:

En app.yaml añadir:

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".

En requirements.txt añadir:

psycopg2
psycopg2-binary

En main.py añadir:

@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"

Usa la gcloud app deploy comando para implementar su aplicación.

Después de la implementación, usa la gcloud app browse comando para abrir la aplicación en el navegador.

Al acceder al enlace https://[PROJECT_ID].appspot.com/connect Debería responder con Connection was established!