Я пытаюсь написать систему в лазури, и для одной его частей я хочу, чтобы иметь возможность иметь несколько бит кода записи в очередь, и есть один бит кода обработки обрабатывает каждый элемент в очереди.Azure Queue Trigger дает элемент нулевой очереди неправильно
Элементы добавляются в очередь правильно. Я проверил это; У меня есть Visual Studio с плагинами Azure. Затем я могу использовать Cloud Explorer, чтобы вытащить учетную запись хранилища и просмотреть очередь. Здесь содержимое очереди кажется правильным, поскольку Предварительный просмотр текстового сообщения выглядит так, как я ожидал.
Однако, когда я добавляю лазурь функции с очередью триггера для обработки этого, в то время как триггер срабатывает, то элемент очереди выходит пустым. Я попробовал код учебника, немного порезал. Когда я установил функцию запуска быть:
public static void Run(string myQueueItem,
DateTimeOffset expirationTime,
DateTimeOffset insertionTime,
DateTimeOffset nextVisibleTime,
string queueTrigger,
TraceWriter log)
{
log.Info($"C# Queue trigger function processed: '{myQueueItem.GetType()}'\n" +
$"queueTrigger={queueTrigger}\n" +
$"expirationTime={expirationTime}\n" +
$"insertionTime={insertionTime}\n" +
$"nextVisibleTime={nextVisibleTime}\n");
}
Затем я получить выход с пунктом очереди пуст, когда я знаю, что это не так. Элемент триггера очереди также пуст. Вот некоторые пример вывода, когда я запустить функцию непосредственно в Azure Функции:
016-11-01T13:47:41.834 C# Queue trigger function processed:
queueTrigger=
expirationTime=12/31/9999 11:59:59 PM +00:00
insertionTime=11/1/2016 1:47:41 PM +00:00
Тот факт, что это вызывает у всех, и имеет разумный ищет время ввода предполагает, что я подключения к правой очереди.
Кто-нибудь знает, почему строка myQueueItem выходит пустым, когда инструмент выглядывал очередь может увидеть полную строку предварительного просмотра?
Приятно слышать, что это работает на вас! Чтобы уточнить, что вы имеете в виду, когда говорите «когда вы вручную запускаете отключенную очередь»? Вы использовали опцию «запустить» на портале Azure Functions? –
Да, я использовал параметр run на портале Azure, но функция была отключена. Я ожидал, что это деактивирует следующий элемент из очереди и отправит его, но не запускается автоматически. Я не ожидал, что сделаю это, чтобы отправить нулевые данные обработчику, так как основным моментом в этом было бы тестирование dev, и вы не сможете проверить свою функцию на нулевой ввод. –