Почему веб-задание Azure не может выполнить ProcessQueueMessage, когда сообщение очереди добавлено в очередь?

Интересно, почему моя веб-задача не может выполнить метод ProcessQueueMessage в Functions.cs после поиска сообщения в очереди?

Functions.cs

 public class Functions
    {
        public static void ProcessQueueMessage([QueueTrigger("testqueue")] string logMessage, TextWriter logger)
        {
            logger.WriteLine(logMessage);
        }

Я запускаю эту веб-задачу, которая отображается в консоли.

Found the following functions:
ProcessQueueMessage
Job host started

Проблема в том, что отладчик не срабатывает, когда в testqueue добавляются какие-либо сообщения.

Я уже делал это в прошлый раз, и это сработало. Что я пропустил? Я не размещал свое веб-задание в Azure.


person Neo    schedule 08.10.2015    source источник


Ответы (1)


Я просто попробовал запустить код, похожий на ваш, и он отлично сработал. Код, который я запустил, представляет собой недавно созданный проект «Веб-задание Azure» в Visual Studio 2015 с пакетом SDK для Azure 2.7.1.

Тем не менее, я сделал несколько замечаний, пробуя его.

  1. Он не запускается с использованием эмулированной учетной записи хранилища Azure разработчика. Работает только учетная запись хранения, размещенная в Azure.
  2. Он не выдает сообщений об ошибках, если очередь не существует или написана с ошибками. Результат один и тот же, независимо от того, существует очередь или нет.

Поэтому убедитесь, что используемая вами очередь («testqueue») действительно существует и не содержит ошибок. Если его нет, перезапустите приложение.

В моих тестах он не собирал новые сообщения из очереди до того, как я перезапустил приложение после создания очереди.

Для справки вы можете найти мой код здесь https://github.com/kimpihlstrom/azure/tree/master/Azure.Webjob.SDK.MessageProcessor. Только что обновили AzureWebJobsDashboard и AzureWebJobsStorage с некоторыми реальными значениями.

Имя и ключ учетной записи хранения можно найти на портале управления Azure. Перейдите к учетной записи хранения и нажмите кнопку «Управление ключами доступа» в нижней части экрана.

person kim    schedule 08.10.2015