gpt4 book ai didi

将消息放入服务总线中的队列后不会触发 Azure Function

转载 作者:行者123 更新时间:2023-12-03 05:27:50 25 4
gpt4 key购买 nike

我在服务巴士上排队。将消息放入队列后,应触发 azure 逻辑应用程序和 azure 函数并处理内容。我的 Azure 逻辑应用程序已触发,但我的 azure 功能未触发。我的 azure 函数代码:

[FunctionName("ReadMEssageFromQueue")]
public static void Run([ServiceBusTrigger("messagequeue", Connection = "AzureWebJobsStorage")]string myQueueItem, ILogger log)
{
log.LogInformation($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}

主机 json:

{
"IsEncrypted": false,
"Values": {

"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"AzureWebJobsStorage": "******" // connection string of my service bus
}
}

我应该在服务总线队列中设置一些内容来将消息发送到两个资源吗?

最佳答案

Azure 服务总线队列消息仅由一个处理器拾取。因此,我认为在您的情况下,逻辑应用程序首先拾取并使用消息,并且该消息不可用于该函数进行处理。您可以尝试暂时禁用逻辑应用并让函数选择消息来确认这一点。

引用号:azure-service-bus-queue-with-multiple-listeners

您可以从逻辑应用触发 Azure 函数(不确定它是否对您的用例有帮助),或者您可以使用 Azure 服务总线主题,因为主题支持多个使用者可以 subscribe 的模型。到一个话题。前一个选项可能对您来说是更好的方法,来自 cost从角度来看,因为您需要使用标准服务总线层才能使用主题功能,这意味着您在当前设置的基础上需要支付额外费用。

此外,您可能希望为服务总线连接字符串使用其他名称,如 AzureWebJobsStorage用于存储帐户连接字符串

关于将消息放入服务总线中的队列后不会触发 Azure Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67447732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com