Nó có một chút khó khăn, nhưng đây là những gì đã làm việc cho tôi. Tôi sẽ giúp bạn thiết lập Quickstart App Engine với psycopg2 và sau đó bạn sẽ có được ý tưởng.
Sử dụng Khởi động nhanh cho Python trong Môi trường linh hoạt của App Engine tài liệu để thiết lập và triển khai ứng dụng của bạn.
Sử dụng Kết nối từ App Engine tài liệu để kết nối với ứng dụng App Engine của bạn với Cloud SQL Postgre SQL.
Tôi đã thực hiện một số sửa đổi nhỏ để làm cho điều đó hoạt động:
Trong app.yaml
thêm:
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".
Trong requirements.txt
thêm:
psycopg2
psycopg2-binary
Trong main.py
thêm:
@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"
Sử dụng gcloud app deploy
lệnh triển khai ứng dụng của bạn.
Sau khi triển khai, hãy sử dụng gcloud app browse
lệnh để mở ứng dụng trong trình duyệt.
Khi truy cập liên kết https://[PROJECT_ID].appspot.com/connect
Nó sẽ phản hồi với Connection was established!