当前位置: 首页 > 知识库问答 >
问题:

如何在Azure函数应用中为队列触发器配置队列名称

巫马自明
2023-03-14

我正在Azure中创建一个函数应用程序,并希望使用队列触发器。我知道如何在设计时配置队列名称,例如:

[FunctionName("MyTestFunction")]
public static void Run([QueueTrigger("myqueue-items", Connection = "testdelete")]string myQueueItem, TraceWriter log)

但是,我希望能够在配置文件中定义和引用它。我知道函数的存在。json(可能是这个),主机。json和本地。设置。json,但我不知道如何在其中设置队列名称并在函数中引用它。

如果我部署在VisualStudio中新创建的函数(使用新的15.3更新),我可以在函数中看到以下内容。部署后的json文件(即使在本地开发时该文件不存在):

  "bindings": [
    {
      "type": "queueTrigger",
      "queueName": "myqueue-items",
      "connection": "testdelete",
      "name": "myQueueItem"
    }

我发现,如果我创建该文件,并将“queueName”更改为与实际函数中的值不匹配的内容,不幸的是,它不会覆盖它(我想这太容易了)。

如何引用函数中的绑定。函数QueueTrigger属性中的json?

不管解决方案是什么,都可以让我对毒药队列处理做同样的事情?

我之所以想这样做,是因为我需要部署完全相同函数的多个实例,但将每个实例指向不同的队列(以绕过最大内存限制)。

谢谢。

共有1个答案

於子晋
2023-03-14

您是否可以将队列名称作为应用程序功能的设置引用(使用%settingName%语法)?然后在您部署的每个功能应用程序中,将设置更改为所需的队列名称。

[FunctionName("MyTestFunction")]
public static void Run([QueueTrigger("%MyQueueName%", Connection = "testdelete")]string myQueueItem, TraceWriter log)

并在local中指定设置。设置。用于本地运行的json

{
  "Values: {
     "MyQueueName": "myqueue-items"
   }
}
 类似资料:
  • 本文向大家介绍azure-webjobs 队列触发器,包括了azure-webjobs 队列触发器的使用技巧和注意事项,需要的朋友参考一下 示例 一个简单的示例,定义一个由队列消息触发的功能: 它还支持POCO序列化:            

  • 我正在使用带有队列触发器的Azure Functions。 当函数运行时,它会从Azure队列中删除一个项目。然而,有时我的处理会失败,在这种情况下,我想重新申请该项目,并在以后进行处理。 如何在Azure函数和使用Node中实现这一点。js?

  • 我有一个Java项目,它使用了一些Azure函数,如HttpTrigger和QueueTrigger。我使用原型来生成这个项目,因此它可以使用HttpTrigger的一些样板代码和它的单元测试,但对QueueTrigger没有任何帮助。我正试图得到帮助,为这个QueueTrigger编写一个好的单元测试,它实际上是从队列中读取消息(弹出)。队列的代码如下所示: 有没有人能推荐一下这个队列触发azu

  • 我正在尝试在本地运行一个azure队列触发函数。我安装了Azure Storage Emulator并运行命令“AzureStorageEmulator.exe init”以在“(localdb)\mssqllocaldb”服务器上创建“AzureStorageEmulatorDB59”数据库。 在具有队列触发器函数的azure functions项目中,我有一个local.settings.js

  • 在.NET core 2.0中使用创建时,我遇到了一个问题。 在体系结构中,当在用于创建用户的队列中创建新消息时,服务必须接收该消息并根据其中的信息在数据库中创建用户。 在Visual Studio2017中,我在下创建了一个新项目。 这种的正确实现是什么?在GitHub上有什么例子吗?提前道谢。

  • 我使用VisualStudio代码创建了一个Azure Service Bus Queue Trigger Python函数,如果代码失败,我希望将消息返回到Service Bus队列。 我找到了一些关于一个名为unlock()和discard()的方法的信息,但我不知道如何实现它。以下是这些文档的链接: 解锁:https://docs.microsoft.com/en-us/azure/serv