PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So richten Sie psycopg2 mit der Google App Engine PostgreSQL-Datenbank ein

Es ist ein bisschen schwierig, aber hier ist, was für mich funktioniert hat. Ich werde Ihnen helfen, die Quickstart App Engine mit psycopg2 einzurichten, und danach werden Sie die Idee verstehen.

Verwenden Sie den Schnellstart für Python in der flexiblen App Engine-Umgebung Dokumentation zum Einrichten und Bereitstellen Ihrer App.

Verwenden Sie Von App Engine verbinden Dokumentation zum Herstellen einer Verbindung zwischen Ihrer App Engine-Anwendung und Cloud SQL Postgre SQL.

Ich habe einige Änderungen vorgenommen, damit das funktioniert:

In app.yaml hinzufügen:

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

In requirements.txt hinzufügen:

psycopg2
psycopg2-binary

In main.py hinzufügen:

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

Verwenden Sie die gcloud app deploy Befehl zum Bereitstellen Ihrer App.

Verwenden Sie nach der Bereitstellung die gcloud app browse Befehl zum Öffnen der App im Browser.

Beim Aufrufen des Links https://[PROJECT_ID].appspot.com/connect Es sollte mit Connection was established! antworten