少し注意が必要ですが、これが私にとってうまくいったことです。 psycopg2を使用してQuickstartAppEngineをセットアップするのを手伝い、その後、アイデアを得ることができます。
AppEngineフレキシブル環境でのPythonのクイックスタート を使用します アプリをセットアップしてデプロイするためのドキュメント。
AppEngineから接続 を使用します AppEngineアプリをCloudSQLPostgreSQLに接続するためのドキュメント。
それを機能させるために、少し変更を加えました:
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!
で応答する必要があります