Я следил за документацией, чтобы включить 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]
Пример оператора подключения:
import pymysql
connection = pymysql.connect(unix_socket='/cloudsql/' + <INSTANCE_CONNECTION_NAME>,
user='<USER>',
password='<PASSWORD>',
db='<DATABASE>')
Дополнительную информацию об этом можно найти в документация Google о подключении к Cloud SQL из внешнего приложения, которое также использует облачный прокси.
Если вы используете Java. Документацию по подключению к сокету UNIX можно найти здесь: Cloud SQL Socket Factory для драйверов JDBC
Поскольку я использую java, используя сокет UNIX, как описано здесь: связь Он работает с экземпляром в том же проекте.
Попробуйте с Кваркусом. Не работает... quarkus.datasource.jdbc.url=jdbc:postgresql:///${DATASOURCE_DBNAME}?socketFactory=com.google.cloud.sql.postgres.SocketFactory&cloudSqlInstance=$ {DATASOURCE_URL}&user=${DATASOURCE_USER}&password=${DATASOURCE_PWD}&useSSL=false ... Кто-нибудь может мне помочь?
Привет, Энтони, у меня такая же проблема, я не могу подключиться с помощью quarkus (реактивный источник данных). Вы нашли какое-нибудь решение. Заранее спасибо!
Я думаю, что упустил важный момент в документации. Сокет UNIX... не TCP. Я попробую использовать Cloud SQL Socket Factory для драйверов JDBC. И обновлю этот пост.