от
Я пытаюсь заставить мое функциональное приложение записать 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 голосов
от
Функция завершается после отправки запроса в хранилище, но до нажатия
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();
  });
}
    
...