Не удалось запустить облачный запуск из-за неверной конфигурации 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