Настройка конфигурации и запуск функции триггера очереди Azure локально

Я пытаюсь запустить функцию триггера очереди Azure локально. Я установил эмулятор хранения Azure и выполнил команду "AzureStorageEmulator.exe init", чтобы создать базу данных "AzureStorageEmulatorDb59" на сервере "(localdb)\MSSQLLocalDB".

В моем проекте функций azure, в котором есть функция триггера очереди, у меня есть файл local.settings.json. Какие настройки следует добавить в этот файл, какой именно должна быть строка подключения и куда ее добавить? Моя функция запуска очереди упоминается ниже. Что следует добавить вместо "my-queue", упомянутого после атрибута "QueueTrigger"? Пожалуйста, помогите мне с этим

  [FunctionName("TestQTFunction")]
    public static void Run([QueueTrigger("my-queue", Connection = "AzureQueueConnectionString")]string myQueueItem, ILogger log)
    {
       // Do something
    }

1 ответ

Решение

Обновление:

В local.settings.json:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

В моем коде:

        [FunctionName("Function1")]
        public static void Run([QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, ILogger log)
        {
            log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
        }

"my-queue" - это имя очереди, которую вы хотите инициировать, когда сообщение помещается в очередь. Поэтому измените его на имя очереди, которую вы хотите активировать.

Строка подключения в local.settings.json должна быть в следующем формате:

"AzureWebJobsStorage":"DefaultEndpointsProtocol=https;AccountName=[имя];AccountKey=[ключ]"

также убедитесь, что щелкните правой кнопкой мыши файл local.settings.json -> свойство -> установите для параметра "копировать в директорию вывода" значение "копировать, если новее".

затем в методе Run измените connection="AzureQueueConnectionString" на Connection = "AzureWebJobsStorage".

Другие вопросы по тегам