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

Я пытаюсь запустить функцию 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}");
}

Но все равно безуспешно. Есть идеи, что может быть причиной этого?

Это моя первая лазурная функция, поэтому не знаю, что правильно, а что нет.


comment
Используйте это: [QueueTrigger("myqueue-items", Connection = "StorageConnectionAppSetting")], тогда все должно быть в порядке. А вы разрабатываете локально или на лазурном?   -  person Bowman Zhu    schedule 15.09.2020


Ответы (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

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

Если вы разрабатываете на лазурном портале, вам необходимо настроить строку подключения в Application settings:

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

person Frank Gong    schedule 15.09.2020