Я пытаюсь создать Azure-функцию, которая запускается http-запросом, а затем выбирает данные из базы данных SQL, затем возвращает данные.Доступ к базе данных SQL от Azure Function в NodeJS
Я пытался создать простой пример, который просто подключается к базе данных, следуя пример здесь: https://msdn.microsoft.com/library/mt715784.aspx Это не Azure функции конкретное, но я думал, что он должен работать:
var Connection = require('tedious').Connection;
var config = {
userName: 'userName',
password: 'password',
server: 'databaseServer.database.windows.net',
options: {encrypt: true, database: 'AdventureWorks'}
};
module.exports = function(context, req, saasSql) {
var connection = new Connection(config);
connection.on('connect', function(err) {
if(err) {
context.log(err);
} else {
context.log("Connected");
context.res = {
body: 'Connected'
};
context.done();
}
});
};
Однако когда это выполняется (запускается в консоли администратора). Я получаю сообщение журнала, чтобы сказать, что функция началась, а затем ничего больше в журналах. В окне вывода внизу отображается состояние: 502 Bad Gateway и это сообщение: Аутентификация включена для приложения-функции. Перед запуском функции отключите проверку подлинности.
Я предполагаю, что это потому, что я не вызываю context.done(), поскольку аутентификация отключена для этой функции. Я не могу понять, как получить информацию об ошибке и т. Д. Из попытки подключения, я также попытался привязать к событию ошибки, но ничего не запущено.
UPDATE
Сообщение об ошибке была ошибкой в коде Azure Функции и показывал неправильную ошибку. Тем не менее, приведенный выше код все еще не запускается (и ошибка не возникает). Это нормально, когда я создаю локальный сервер узлов и запускаю этот путь, поэтому кажется, что проблема связана с работой в структуре Azure Functions. Есть ли способ подключиться к базе данных SQL от Azure Function?
Аутентификация уже отключена для этой функции. Я тестировал это, и кажется, что сообщение отображается также, когда функция никогда не вызывается() Я предполагаю, что Azure отключает ее после простоя в течение определенного периода времени. – smuff
Это сообщение об ошибке довольно специфично для описанного мной сценария. Если вы говорите, что у вас нет активированного веб-приложения Authz, и это все еще происходит, зарегистрируйте ошибку здесь: https://github.com/projectkudu/AzureFunctionsPortal/issues. – mathewc
[Проблема поднята] (https://github.com/projectkudu/AzureFunctionsPortal/issues/548), auth отключен для веб-приложения. Есть ли у вас примеры подключения к базе данных SQL из функции узла. Я пробовал утомительный подход выше, а также интеграцию, но не могу заставить работать. – smuff