设置配置并在本地运行Azure队列触发功能

时间:2019-06-19 09:29:29

标签: c# azure azure-functions azure-queues queuetrigger

我正在尝试在本地运行azure队列触发功能。我安装了Azure Storage Emulator,并运行命令“ AzureStorageEmulator.exe init”以在“(localdb)\ MSSQLLocalDB”服务器上创建“ AzureStorageEmulatorDb59”数据库。

在具有队列触发功能的azure函数项目中,我有一个local.settings.json文件。应该在该文件中添加什么设置,连接字符串应该是什么,我应该在哪里添加它?我的队列触发功能在下面提到。应该添加什么代替“ QueueTrigger”属性后面提到的“ my-queue”?请帮助我

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

1 个答案:

答案 0 :(得分:2)

更新

在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}");
        }

“我的队列”是队列的名称,即在将消息放入队列时要触发的队列的名称。因此,将其更改为您要触发的队列名称。

local.settings.json中的连接字符串应位于此format中:

“ AzureWebJobsStorage”:“ DefaultEndpointsProtocol = https; AccountName = [name]; AccountKey = [key]”

还要确保右键单击local.settings.json文件->属性->将“复制到输出目录”设置为“如果更新则复制”。

然后在Run方法中,将connection =“ AzureQueueConnectionString”更改为Connection =“ AzureWebJobsStorage”。

相关问题