Вставка данных в облако SQL для MySQL из python кода из App Engine - PullRequest
0 голосов
/ 28 января 2020

У меня есть код Python в App Engine на Google Cloud Platform, который получает данные из Firebase и форматирует их в список кортежей, где каждая строка указывает одну строку базы данных. Я хочу вставить эти данные в облако SQL для MySQL. Я создал учетную запись облачной службы и также подключил ее к своему облаку SQL для MySQL с помощью sqlalchemy. Я не могу понять, как вставить строки в облако SQL.

У меня есть использовал приведенный ниже код с сайта Cloud SQL и заменил необходимые элементы, но как вставить в облако SQL для MySQL?

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=db_user,
        password=db_pass,
        database=db_name,
        query={"unix_socket": "/cloudsql/{}".format(cloud_sql_connection_name)},
    ),
    # ... Specify additional properties here.
    # ...
) 

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Поскольку вы используете App Engine Standard, для подключения к экземпляру Cloud SQL необходимо настроить разъем доступа VP C и настроить приложение для его использования.

Вы можете узнайте, как это сделать, в Документах

. Если бы вы использовали App Engine Flexible, вам не нужно было бы создавать VP C Access Connector. Вместо этого вы можете использовать UNIX доменные сокеты

0 голосов
/ 29 января 2020

https://cloud.google.com/sql/docs/mysql/connect-app-engine

Эта операция c должна помочь, если у вас нет пробелов в том, что вы пытаетесь сделать.

Но вероятная проблема в том, что App Engine использует служебную учетную запись для авторизации соединений с другими продуктами GCP. Убедитесь, что используемая учетная запись службы App Engine имеет разрешения для подключения. Роли IAM могут быть следующими:

Облако SQL Клиент (это то, что вам, вероятно, нужно) Облако SQL Редактор Облако SQL Администратор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...