Как подключиться к базе данных Google Cloud SQL в качестве внешней базы данных mysql из Google App Maker? - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь подключиться к базе данных Google Cloud SQL из моего приложения Google App Maker. К сожалению, мой ИТ-персонал не настроил Google App Maker для использования Google Cloud SQL по умолчанию, поэтому я пытаюсь подключиться к базе данных так же, как в прошлом, но не работал с внешней базой данных MySQL. общедоступный IP-адрес.

Я создал базу данных Google Cloud SQL и могу подключиться к ней из MySQLWorkbench, используя общедоступный IP-адрес. Мне пришлось добавить свой IP-адрес для моего домашнего компьютера, чтобы подключиться к базе данных. Мне не нужно было использовать SSL.

Я создал учетную запись службы Google для своего приложения Google App Maker. Затем я включил эту учетную запись службы в проект Google, который содержит базу данных Cloud SQL. Я назначил ему разрешения для Cloud SQL Admin и Cloud SQL Client.

Я использую этот код в App Maker для подключения. Это тот же код, который я использовал с другими внешними базами данных MySQL. IP-адрес 34.xx.xx.xx - это общедоступный IP-адрес, указанный на странице обзора экземпляра Google Cloud SQL.

// App Settings

// Important Note: This is for demo purposes only, storing passwords in scripts
// is not recommended in production applications.

// DB Credentials (you need to provide these)
var address = '34.xx.xx.xx';
var db = 'Kenco_IoT_Template';
var dbUrl = 'jdbc:mysql://' + address + '/' + db;
var user = 'real_username';
var userPwd = 'real_password';

Я получаю это сообщение об ошибке:

"Выполнениезапрос источника данных ActivityTable: (Ошибка): не удалось установить соединение с базой данных. Проверьте строку подключения, имя пользователя и пароль. Пожалуйста, обратитесь к ReadMe и измените настройки базы данных! "

Я предполагаю, что проблема связана с настройкойдо базы данных Cloud SQL, чтобы принять соединение от Google App Maker. Лучшим решением будет включить Cloud SQL по умолчанию для Google App Maker, но я надеюсь, что есть какая-то альтернатива, которую я пока могу использовать.

Любая помощь приветствуется.

1 Ответ

4 голосов
/ 22 октября 2019

Чтобы сделать это ответом, чтобы другие могли легче его найти:

Ответ заключается в том, что вам нужно было внести в белый список диапазоны IP-адресов для приложения. Общедоступные IP-адреса в экземплярах Cloud SQL либо требуют наличия белого списка IP-адресов для доступа, либо им необходимо использовать прокси-сервер Cloud SQL.

В OP также упоминалось, что им нужно было переключить метод Jdbc, который они использовали, из getConnection (). getCloudSqlConnection ().

...