遇到一些问题,试图找出一个 Azure 函数(基于 node.js)可以连接到我们的 mysql 数据库(也托管在 Azure 上)。我们正在使用 mysql2 并非常准确地遵循教程(https://docs.microsoft.com/en-us/azure/mysql/connect-nodejs和类似的)这是调用的主要内容:
const mysql = require('mysql2');
const fs = require('fs');
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
if (req.query.fname || (req.body && req.body.fname)) {
context.log('start');
var config = {
host:process.env['mysql_host'],
user: process.env['mysql_user'],
password: process.env['mysql_password'],
port:3306,
database:'database_name',
ssl:{
ca : fs.readFileSync(__dirname + '\\certs\\cacert.pem')
},
connectTimeout:5000
};
const conn = mysql.createConnection(config);
/*context.log(conn);*/
conn.connect(function (err) {
context.log('here');
if (err) {
context.error('error connecting: ' + err.stack);
context.log("shit is broke");
throw err;
}
console.log("Connection established.");
});
context.log('mid');
conn.query('SELECT 1+1',function(error,results,fields) {
context.log('here');
context.log(error);
context.log(results);
context.log(fields);
});
基本上,遇到 conn.connect(function(err)... 不返回任何内容的问题 - 没有错误消息、没有日志等。 conn.query 的工作方式类似。
一切似乎都已正确设置,但我什至不知道下一步该去哪里解决问题。有没有人遇到过这种情况或对如何处理有建议?
谢谢!!本