我正在尝试在本地运行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
}
答案 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”。