Функции, которые я передаю, не запускаются приложением Azure Function - PullRequest
0 голосов
/ 04 июля 2019

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

Я попытался запустить это на сервере узла локально на моей машине, и он работает нормально, поэтому я предполагаю, что этопроблема с лазурью?Я также попытался создать новое приложение функции без ненужных пакетов узлов, чтобы увидеть, были ли они причиной проблемы, но это не помогло.

module.exports = async function(context, req) {

  var tableSvc = azure.createTableService('account name', 'access key');
  tableSvc.createTableIfNotExists('mytable', function(error, result, response) {
    context.log("Reached this point");
    if (!error) {
      context.log(result);
    }
  });

}

Я ожидаю увидеть "Достигнут этот момент" в функцииЖурналы приложений, а также результат - если нет ошибки.

1 Ответ

0 голосов
/ 09 июля 2019

Функция завершается после отправки запроса в Хранилище, но до того, как вы нажмете context.log("Reached this point");, поэтому ведение журнала не происходит даже при создании таблицы. Поскольку createTableIfNotExists() не возвращает обещание, которое вы можете ожидать, вам нужно запустить функцию синхронно и использовать context.done(), чтобы сообщить среде выполнения о завершении функции.

module.exports = function(context, req) {

var tableSvc = azure.createTableService('account name', 'access key');

tableSvc.createTableIfNotExists('mytable', function(error, result, response) {
  context.log("Reached this point");
  if (!error) {
    context.log(result);
  }

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