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