Я пытаюсь подключиться к экземпляру SQL с платформы Google Cloud в приложении для облачного приложения Google, которое я создаю с помощью python3. Мой main.py код выглядит следующим образом (с использованием тестовой базы данных), и моя цель - отобразить полную таблицу результатов, когда приложение направлено на страницу «запросов». Однако запуск приложения вызывает ошибку «502 Bad Gateway nginx». Что я делаю неправильно? Заранее большое спасибо.
from flask import Flask, render_template, redirect, url_for, request
import sqlalchemy
# If `entrypoint` is not defined in app.yaml, App Engine will look for an app
# called `app` in `main.py`.
app = Flask(__name__)
@app.route('/')
@app.route('/home')
def home():
return render_template('home.html')
@app.route('/queries/', methods=['GET', 'POST'])
def queries():
# The SQLAlchemy engine will help manage interactions, including automatically
# managing a pool of connections to your database
db = sqlalchemy.create_engine(
# Equivalent URL:
# mysql+pymysql://<db_user>:<db_pass>@/<db_name>?unix_socket=/cloudsql/<cloud_sql_instance_name>
sqlalchemy.engine.url.URL(
drivername="mysql+pymysql",
username='admin',
password='admin',
database='studentlist',
query={"unix_socket": "/cloudsql/{}".format('PROJECTNAME:europe-west1:student')},
),
# ... Specify additional properties here.
# ...
)
with db.connect() as conn:
all_results = conn.execute(
"SELECT * FROM student.studentlist"
).fetchall()
return all_results
Мой файл app.yaml:
runtime: python37
# [START handlers]
handlers:
- url: /static
static_dir: static
env_variables:
MYSQL_DSN: mysql:unix_socket=/cloudsql/INSTANCE_CONNECTION_NAME;dbname=student
MYSQL_USER: admin
MYSQL_PASSWORD: admin