Настройка конфигурации и запуск функции триггера очереди 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".