【问题标题】:Is it possible to create a queue triggered azure function with queue name pattern or for multiple queues?是否可以使用队列名称模式或多个队列创建队列触发的 Azure 函数?
【发布时间】:2018-12-19 18:36:32
【问题描述】:

我正在开发队列触发的 azure 函数。我也很陌生。以下是我的“function.json”文件的配置:

{
  "disabled": false,
  "bindings": [
    {
      "name": "myQueueItem",
      "type": "queueTrigger",
      "direction": "in",
      "queueName": "testqueue-1",
      "connection": "MyQueueTriggeredConnectionString"
    }
  ]
}

我的功能运行良好。它为“testqueue-1”队列中的所有条目触发。

现在我有几个问题:

  1. 我可以在“queueName”参数中给出多个队列名称吗?

  2. 我可以在“queueName”参数中给出一些命名模式吗?就像我们可以在blob触发函数的“path”参数中给出模式:“path”:“input/{name1}~123~{name2}”

  3. 如果我在队列中输入 10 个条目。所有条目会同时执行吗?还是一个一个?如果是同时的,我要如何一个一个地做呢?

如果可能的话。请分享一些有用的链接,这些链接可以帮助我更好地理解队列触发的 azure。

谢谢,

【问题讨论】:

  • 请具体一点,因为这是一篇非常广泛的帖子。另外,我相信您的大多数问题都相对容易search for 或在github 上找到。参考How to Ask
  • @rickvdbosch 感谢您对帮助我的兴趣。我的具体问题是:我可以将我的单个队列触发的 azure 函数绑定到多个队列吗?如果是的话怎么做?
  • 默认情况下:不,你不能。但是,您可以让多个函数在同一个类中都在不同的队列名称上触发,但调用相同的逻辑来处理消息。
  • 我想知道您为什么希望一个 azure 函数由多个队列触发。你能详细说明一下吗?
  • @PeterBons,我的每个客户都有单独的队列。但我想在所有队列上执行一个通用逻辑。这就是为什么我想要一个可以处理多个队列的队列触发函数

标签: azure azure-functions


【解决方案1】:

虽然问题不是很详细,但我会尽量回答我认为你想知道的;

我可以在“queueName”参数中给出多个队列名称吗? 不。例如,让两个队列触发相同的功能似乎并没有多大意义。为什么不在队列消息上定义一个参数来定义客户端?例如一个json?否则,您将不得不为每个客户端创建队列。真是一场噩梦。

我可以在“queueName”参数中给出一些命名模式吗?就像我们可以在blob触发函数的“path”参数中给出模式:“path”:“input/{name1}~123~{name2}” 不,这又不是队列绑定的用途。在消息上传递参数。

如果我的队列中有 10 个条目。所有条目会同时执行吗?还是一个一个?如果是同时出现的,怎么才能一个一个呢? 您可以在 host.json 文件中定义它。在此处查看文档:https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json

如果您想一一实现,您可以定义单例,或者,尽管仍不完全支持,但在您的应用程序设置中将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 设置为 1。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多