PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment configurer psycopg2 avec la base de données Google App Engine PostgreSQL

C'est un peu délicat, mais voici ce qui a fonctionné pour moi. Je vais vous aider à configurer le Quickstart App Engine avec psycopg2 et après cela, vous aurez l'idée.

Utilisez le Guide de démarrage rapide pour Python dans l'environnement flexible App Engine documentation pour configurer et déployer votre application.

Utilisez la Se connecter depuis App Engine documentation pour connecter votre application App Engine à Cloud SQL Postgre SQL.

J'ai fait quelques modifications pour que cela fonctionne :

Dans app.yaml ajouter :

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

Dans requirements.txt ajouter :

psycopg2
psycopg2-binary

Dans main.py ajouter :

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

Utiliser le gcloud app deploy commande pour déployer votre application.

Après le déploiement, utilisez le gcloud app browse commande pour ouvrir l'application dans le navigateur.

Lors de l'accès au lien https://[PROJECT_ID].appspot.com/connect Il devrait répondre par Connection was established!