Это немного сложно, но вот что сработало для меня. Я помогу вам настроить Quickstart App Engine с помощью psycopg2, и после этого вы получите идею.
Используйте документацию Quickstart для Python в гибкой среде App Engine для настройки и развертывания приложения.
Используйте документацию Connecting из App Engine для подключения приложения App Engine к облачному SQL Postgre SQL.
Я сделал небольшие изменения, чтобы сделать эту работу:
В app.yaml
добавить:
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".
В requirements.txt
добавить:
psycopg2
psycopg2-binary
В main.py
добавить:
@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"
Используйте команду gcloud app deploy
для развертывания вашего приложения.
После развертывания используйте команду gcloud app browse
, чтобы открыть приложение в браузере.
При доступе по ссылке https://[PROJECT_ID].appspot.com/connect
Должен ответить Connection was established!