我正在开发一个队列触发的 azure 函数。我对此也很陌生。以下是我的“function.json”文件的配置:
{
"disabled": false,
"bindings": [
{
"name": "myQueueItem",
"type": "queueTrigger",
"direction": "in",
"queueName": "testqueue-1",
"connection": "MyQueueTriggeredConnectionString"
}
]
}
我的功能运行良好。它会被“testqueue-1”队列中的所有条目触发。
现在我有几个问题:
我可以在“queueName”参数中指定多个队列名称吗?
我可以在“queueName”参数中给出一些命名模式吗?就像我们可以在 blob 触发函数中的“path”参数中给出模式:“path”:“input/{name1}~123~{name2}”
如果我在队列中输入 10 个条目。所有条目会同时执行吗?还是一一?如果是同时,如何一一制作?
如果可能的话也可以。请分享一些有用的链接,可以帮助我更好地理解队列触发的azure。
谢谢
最佳答案
虽然问题不是很复杂,但我会尽力回答我认为你想知道的;
我可以在“queueName”参数中给出多个队列名称吗? 不。让两个队列触发相同的函数似乎确实没有多大意义。为什么不在队列消息上定义一个参数来定义客户端呢?例如 json?否则,您将必须为每个客户端创建队列。真是一场噩梦。
我可以在“queueName”参数中给出一些命名模式吗?就像我们可以在 blob 触发函数中的“path”参数中给出模式:“path”:“input/{name1}~123~{name2}” 不,这又不是队列绑定(bind)的用途。在消息上传递参数。
如果我在队列中输入 10 个条目。所有条目会同时执行吗?还是一一?如果是同时,如何一一制作? 您可以在 host.json 文件中定义它。检查此处的文档:https://learn.microsoft.com/en-us/azure/azure-functions/functions-host-json
如果您想一一实现,您可以定义单例,或者,尽管仍不完全支持,但在应用程序设置中将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 设置为 1。
关于azure - 是否可以使用队列名称模式或为多个队列创建队列触发的azure函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53847522/