Облачная функция Google - хранимая процедура не запущена - PullRequest
0 голосов
/ 13 января 2019

У меня есть функция, работающая в облаке Google, которая обрабатывает запрос HTTP POST от JOTFORM , и хранимая процедура, которая получает JSON и вставляет данные в таблицу mysql. Когда я пытаюсь запустить хранимую процедуру на сервере mysql - она ​​работает нормально, проблема в том, что когда я пытаюсь запустить ее из облачной функции Google, используя node.js - нет вставки данных в таблицу.

Вот раздел из функции Google:

const mySQL = require('mysql');
const config = require('./config.json');
const uuid = require('uuid');
const storage = require('@google-cloud/storage');

const instanceConnectionName = process.env.INSTANCE_CONNECTION_NAME || config.INSTANCE_CONNECTION_NAME ;
const dbUser = process.env.SQL_USER || config.MYSQL_USER;  
const dbPassword = process.env.SQL_PASSWORD || config.MYSQL_PASSWORD;  
const dbName = process.env.SQL_DB_NAME || config.SQL_DB_NAME ;  
const mysqlPort = process.env.PORT || config.PORT;

// [START functions_sql_mysql]
const mysqlConfig = {
  connectionLimit: 1,
  user: dbUser,
  password: dbPassword,
  database: dbName,
  port : mysqlPort
};
 mysqlConfig.socketPath = `/cloudsql/${instanceConnectionName}`;
 exports.GetWebHookJotContent = (req, res) => {
  return Promise.resolve()
    .then(function(responses) {

      if (req.method !== 'POST') {
        const error = new Error('Only POST requests are accepted');
        error.code = 405;
        throw error;
      }
      const events = req.body || [];   
      let mysqlPool ;

    if (!mysqlPool) {
      mysqlPool = mySQL.createPool(mysqlConfig);
   }

   mysqlPool.query('CALL `fichman`.`sp_insert_Submission` (' + events + ')');

  })
  .then(() => res.status(200).end())
  .catch((err) => {
    console.error(err);
    res.status(err.code || 500).send(err);
    return Promise.reject(err);
  });
}

Как я могу отладить его и посмотреть, что содержит events? Можете ли вы выяснить, в чем может быть проблема?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...