Google App Engine подключается к облаку SQL postgres - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть приложение flask, которое я могу нормально запускать локально, используя flask_sqlalchemy с базой данных SQLITE.

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'

Я сейчас развертываю это в Google App Engine. Я создал postgres дБ в облаке SQL.

Как я могу подключиться к облачной sql базе данных?

1 Ответ

1 голос
/ 24 февраля 2020

Вы не указываете, используете ли вы стандартную или гибкую среду в App Engine, но в целом для подключения Cloud SQL Postgres к App Engine вы можете использовать библиотеку sqlalchemy.

Код для справки извлечено из Publi c Документация . Полную версию можно найти в облачной платформе GitHub

# The SQLAlchemy engine will help manage interactions, including automatically
# managing a pool of connections to your database
db = sqlalchemy.create_engine(
    # Equivalent URL:
    # postgres+pg8000://<db_user>:<db_pass>@/<db_name>?unix_sock=/cloudsql/<cloud_sql_instance_name>/.s.PGSQL.5432
    sqlalchemy.engine.url.URL(
        drivername='postgres+pg8000',
        username=db_user,
        password=db_pass,
        database=db_name,
        query={
            'unix_sock': '/cloudsql/{}/.s.PGSQL.5432'.format(
                cloud_sql_connection_name)
        }
    ),
    # ... Specify additional properties here.
    # ...
)
...