Невозможно подключиться к PostgresSQL через Google-Cloud-Proxy - PullRequest
1 голос
/ 17 апреля 2020

Я запускаю тестовый Python скрипт, который загружает небольшое количество данных в PostgreSQL базу данных, используя SQL Alchemy. Apache Airflow (размещенный в Google Cloud Composer) запускает этот сценарий по расписанию. Сценарий всегда работает совершенно нормально, когда я запускаю его на Airflow локально и подключаю напрямую к БД.

Однако, когда я запускаю его в облаке Composer, из соображений безопасности мне нужно подключиться через Google Cloud SQL Proxy.

Вот странная часть - скрипт работает нормально примерно на 50% времени при подключении через облачный Google- sql -прокси. Остальные 50% времени я получаю ошибку (psycopg2.OperationalError) FATAL: password authentication failed for user "XXXX. А затем, как правило, повторяется попытка, и соединение происходит нормально.

Я предполагаю, что это, вероятно, связано с тем, как я управляю своим соединением (как оно открывается, объединяется или закрывается), так что вот как я Я делаю это. Я использую SQLAlchemy в своем скрипте Python следующим образом:

from sqlalchemy import create_engine

engine = create_engine(f"postgresql://{USER}:{PASS}@{HOST}/{DB_NAME}")
conn = engine.connect()
# Upload a bit of data here
conn.close()
engine.dispose()

Я всегда использовал этот способ загрузки данных локально, поэтому я немного озадачен, почему это не сработает с Google Cloud Прокси / Google Cloud Composer (размещенный Airflow).

...