Не удалось запустить облачный запуск из-за неверной конфигурации SQL Cloud

Я следовал документации, чтобы включить SQL Cloud из облака. Но согласно документации:

Теперь ваши экземпляры контейнеров могут подключаться к Cloud SQL через прокси-сервер Cloud SQL, который автоматически активируется и настраивается. В своем коде вы можете подключиться к экземпляру Cloud SQL, используя /cloudsql/[CONNECTION NAME] Unix сокет.

Что означает последняя фраза? Нужно ли подключаться, используя обычную строку подключения, например: jdbc:postgresql://localhost:5432/${DATABASE_NAME}

В моем случае это то, что мешает запуску контейнера. org.postgresql.util.PSQLException: Соединение с локальным хостом:5432 отказано. Убедитесь, что имя хоста и порт указаны правильно и что администратор почты принимает соединения TCP/IP.

Также я использую следующую команду, чтобы "добавить" облако SQL: gcloud beta run deploy --image gcr.io/[PROJECT_ID/[IMAGE_NAME]:[TAG] --add-cloudsql-instances [CONNECTION_NAME]

1 ответ

Решение

Вот пример оператора соединения:

import pymysql
connection = pymysql.connect(unix_socket='/cloudsql/' + <INSTANCE_CONNECTION_NAME>,
                             user='<USER>',
                             password='<PASSWORD>',
                             db='<DATABASE>')

Вы можете найти больше информации об этом в документации Google о подключении к Cloud SQL из внешнего приложения, которое также использует Cloud Proxy.

Если вы используете Java. Документацию по сокетному соединению UNIX можно найти здесь: Cloud SQL Socket Factory для драйверов JDBC

Другие вопросы по тегам