Ini sedikit rumit, tetapi inilah yang berhasil bagi saya. Saya akan membantu Anda menyiapkan Quickstart App Engine dengan psycopg2 dan setelah itu Anda akan mendapatkan idenya.
Gunakan Quickstart untuk Python di Lingkungan Fleksibel App Engine dokumentasi untuk menyiapkan dan menerapkan aplikasi Anda.
Gunakan Menghubungkan dari App Engine dokumentasi untuk menghubungkan aplikasi App Engine Anda ke Cloud SQL Postgre SQL.
Saya telah melakukan sedikit modifikasi untuk membuatnya berfungsi:
Di app.yaml
tambahkan:
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".
Di requirements.txt
tambahkan:
psycopg2
psycopg2-binary
Di main.py
tambahkan:
@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"
Gunakan gcloud app deploy
perintah untuk menerapkan aplikasi Anda.
Setelah penerapan, gunakan gcloud app browse
perintah untuk membuka aplikasi di browser.
Saat mengakses tautan https://[PROJECT_ID].appspot.com/connect
Seharusnya merespons dengan Connection was established!