Я пытаюсь получить прямой доступ к Google Cloud SQL и создать там таблицу. Я хочу использовать как можно меньше сервисов (будьте проще), поэтому я действительно не хочу использовать Cloud SDK.
Я хочу использовать нечто подобное, что я видел здесь . Я пытался воспроизвести его, но в результате я получил ошибку.
AttributeError: module 'socket' has no attribute 'AF_UNIX'
Для всего этого я использую Python с sqlalchemy & pymysql
Я действительно не знаю, как его отладить, поскольку я использую его первые несколько часов, но я думаю, что проблема может быть связана с URL-адресом или переменными среды (файл app.yamp, который я создал).
Я думаю, что я уже установил все зависимости, которые мне нужны
db_user = os.environ.get("db_user")
db_pass = os.environ.get("db_pass")
db_name = os.environ.get("db_name ")
cloud_sql_connection_name = os.environ.get("cloud_sql_connection_name ")
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)
}
),
pool_size=5,
max_overflow=2,
pool_timeout=30,
pool_recycle=1800,
)
with db.connect() as conn:
conn.execute(
"CREATE TABLE IF NOT EXISTS votes "
"( vote_id SERIAL NOT NULL, time_cast timestamp NOT NULL, "
"candidate CHAR(6) NOT NULL, PRIMARY KEY (vote_id) );"
)
Я не использую db_user и т. Д. В качестве реальных значений. Это всего лишь примеры.
Должно пройти успешно и создать таблицу в Google SQL