Функция Azure с .net Core 3.1 не запускается из хранилища очередей

#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 :

введите описание изображения здесь