Connecting to Cloud SQL from App Engine

Всем доброго дня Спасибо что читаете это. Я новичок в веб программирование. Прошу не пинать.

Борюсь с проблемой уже неделю. Задача в следующем. Есть проект на Node.js в Google Cloude Platform. Есть Cloud MySQL тоже в Google Cloude Platform. Все создано в рамках одного проекта Google Cloud Platform. Мне всего лишь нужно подключиться к базе данных облачной MySQL из проекта node.js созданным в App Engine, чтобы читать данные.

Прочитав инструкцию Connecting to Cloud SQL from App Engine ничего не понял. Вставил код из инструкции, вписав данные свой БД. Configuring App Engine = standart

const createPool = async () => {
  pool = await mysql.createPool({
    user: process.env.roor, // e.g. 'my-db-user'
    password: process.env.MY_PASS, // e.g. 'my-db-password'
    database: process.env.MY_DB, // e.g. 'my-database'
    // If connecting via unix domain socket, specify the path
    socketPath: `/cloudsql/process.env.abgs-262322:europe-west3:abgs`,
    // If connecting via TCP, enter the IP and port instead
    // host: 'localhost',
    // port: 3306,

    //...
  });
};
createPool();

Добавил код с GitHub, который создает таблицу.

const ensureSchema = async () => {
  // Wait for tables to be created (if they don't already exist).
  await pool.query(
    `CREATE TABLE IF NOT EXISTS votes
      ( vote_id SERIAL NOT NULL, time_cast timestamp NOT NULL,
      candidate CHAR(6) NOT NULL, PRIMARY KEY (vote_id) );`
  );
};
ensureSchema();

Запустил командой node MySQL2.js Итог:

введите сюда описание изображения

переменная pool = undefined.

Тогда решил попробовать подключить через стандартную библиотеку. В настройках панели облачной SQL можно найти все параметры для подключения к экземпляру. введите сюда описание изображения

Прописал настройки.

const mysql = require("mysql");

const connection = mysql.createConnection({
  //host: "35.246.207.86",
  host: "/cloudsql/abgs-262322:europe-west3:abgs",
  //host: "127.0.0.1",
  user: "******",
  database: "abgs",
  password: "*****"
});
 connection.connect(function(err){
    if (err) {
      return console.error("Ошибка: " + err.message);
    }
    else{
      console.log("Подключение к серверу MySQL успешно установлено");
    }
 });

И снова ошибка.

> Ошибка: getaddrinfo ENOTFOUND

введите сюда описание изображения

Тогда я попробовал 3 вариант. Использовать библиотеку knex.

Создал код. Написал запрос.

var knex = require('knex')({
  client: 'mysql',
  connection: {
    host : '35.246.207.86',
    user : '******',
    password : '*******',
    database : 'abgs'
  }
});
var a = knex('main_data').where('Квартал ', "СД20");
console.log(a);

Вывожу в консоль результат и получаю набор конфигурации, вместо результата запроса SQL введите сюда описание изображения

Я уже не знаю, какие еще способы испробовать. Ничего не работает.


Ответы (0 шт):