#azure #azure-functions #azure-function-app #azure-queues #azure-storage-queues
#azure #azure-функции #azure-функция-приложение #azure-очереди #azure-storage-queues
Вопрос:
Я пытаюсь запустить функцию Azure при добавлении нового сообщения очереди. Учетная запись хранилища и функция Azure находятся в одном регионе.
Для моей функции Azure я нажал Добавить, триггер хранилища очередей Azure, я присвоил своей функции имя, и имя очереди совпадает с именем моей очереди. Я попытался добавить новое сообщение очереди, ничего не сработало.
Затем я попытался изменить код следующим образом:
using System;
[FunctionName("QueueTrigger")]
[StorageAccount("storagetestaccount1")]
public static void Run(
[QueueTrigger("queue1")] string myQueueItem,
ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
}
Но по-прежнему безуспешно. Есть идеи, что может быть причиной этого?
Это моя первая функция Azure, поэтому я не уверен, что правильно, а что нет.
Комментарии:
1. Используйте это:
[QueueTrigger("myqueue-items", Connection = "StorageConnectionAppSetting")]
тогда все должно быть в порядке. И вы разрабатываете локально или в Azure?
Ответ №1:
Я думаю, что правильный код таков:
public static class Function1
{
[FunctionName("Function1")]
public static void Run([QueueTrigger("queueName", Connection = "connectString")]string myQueueItem, ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
}
}
Примечание
Если вы разрабатываете локально, вам следует настроить строку подключения к хранилищу Azure в local.settings.json
Если вы разрабатываете на портале Azure, вам необходимо настроить строку подключения в Application settings
: