Я пытаюсь подключиться к Google Cloud SQL для MySql через Google Cloud Run. Я прочитал много сообщений в SO, а также документацию Google. Но, похоже, у меня это не работает. Я признаю, что я никогда не помещал приложения в контейнеры и в основном занимаюсь данными.
Примечание. У меня уже есть экземпляр Cloud SQL, к которому я могу подключиться через Cloud Shell.
1) Мой код основан на документации Google по адресу
https://cloud.google.com/sql/docs/mysql/connect-run
и код github в
2) Создайте образ
gcloud builds submit --tag gcr.io/my-project/my-test-image
3) Разверните образ
gcloud run deploy --image gcr.io/my-project/my-test-image
4) Когда я пытаюсь вызвать службу в Cloud Shell, используя следующее, я получаю сообщение «Служба недоступна».
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" https://my-service.run.app
Может ли кто-нибудь помочь мне решить эту проблему?
Изменения - я не указал имя экземпляра mysql. Я исправил это и теперь получаю ошибку, как показано ниже -
[ИНФОРМАЦИЯ] Слушает: http://0.0.0.0:8080 (1) "
"Traceback (последний вызов последним): файл" /usr/local/lib/python3.8/site-packages/pymysql/connections.py ", строка 571, в соединении sock.connect (self.unix_socket) FileNotFoundError: [Errno 2] Нет такого файла или каталога "
Я не понимаю, почему он слушает 0.0.0.0:8080. Я удалил хост и порт из своего кода, но до сих пор получаю эту «информацию» и получаю ошибку «FileNotFoundError». Я не уверен, какой файл ему нужен. Нужен ли какой-то файл подключений? Если да, то какой у файла формат?
--add-cloudsql-instance INSTANCE-CONNECTION-NAME
. cloud.google.com/sql/docs/mysql/connect-run Ваш контейнер использует сокеты Unix, что означает, что вам необходимо настроить дополнительный компонент Cloud SQL Proxy, в противном случае настройте подключение для IP-адресации. - person John Hanley   schedule 03.03.2020