Для этой проблемы было две проблемы:
- Включение сервисов API. Я рекомендую включить службы до запуска Cloud Run, так как это может занять больше времени, чем Cloud Run. Сначала запустите эту команду:
gcloud services enable sql-component.googleapis.com
- Неправильное имя подключения SQL Cloud. Указание правильного имени помогает.
Формат имени подключения SQL Cloud: $ PROJECT: $ REGION: $ GCP_SQL_NAME.
Пример: development-123456:us-central1:mysqldb
Эта команда вернет информацию об экземпляре Cloud SQL, включая имя соединения:
gcloud sql instances describe <instance_name>
Примечание. В Cloud Run есть несколько команд для указания подключаемого экземпляра Cloud SQL.
--add-cloudsql-instances
- эта опция добавляет указанное имя соединения.
--set-cloudsql-instances
- Этот параметр заменяет текущее имя подключения Cloud SQL.
Если вы не развертываете новую версию в Cloud Run, нет необходимости использовать опцию --add-cloudsql-instances
, так как значение сохраняется. Я предпочитаю использовать опцию --set-cloudsql-instances
, чтобы четко указывать экземпляры Cloud SQL.
Cloud Run поддерживает несколько экземпляров Cloud SQL. Вы можете добавить более одного имени подключения.