C# Azure函数中带有服务总线触发器的自动转发消息
当我有自动转发队列时,Azure函数无法启动: 函数XXX错误:“函数XXX”的侦听器无法启动。Microsoft.ServiceBus:无法在启用自动转发的实体上创建消息接收器C# Azure函数中带有服务总线触发器的自动转发消息,c#,azure,azure-functions,azureservicebus,C#,Azure,Azure Functions,Azureservicebus,当我有自动转发队列时,Azure函数无法启动: 函数XXX错误:“函数XXX”的侦听器无法启动。Microsoft.ServiceBus:无法在启用自动转发的实体上创建消息接收器 // Code to create the queue: var manager = NamespaceManager.CreateFromConnectionString("ConnectionString"); manager.CreateQu
// Code to create the queue:
var manager = NamespaceManager.CreateFromConnectionString("ConnectionString");
manager.CreateQueue(new QueueDescription("myqueue_done")
{
RequiresSession = false
});
manager.CreateQueue(new QueueDescription("myqueue")
{
ForwardTo = "myqueue_done",
RequiresSession = false
});
下面是我的azure功能:
[FunctionName("FunctionXXX")]
public static void Run([ServiceBusTrigger("myqueue", Connection = "AzureSbConnectionString")]string myQueueItem, string messageId, string CorrelationId, TraceWriter log)
{
log.Info($"Message id={messageId}, CorrelationId={CorrelationId}, was processed: {myQueueItem}");
}
这真的是一种限制吗?有没有更好的方法在这个azure函数沙盒方法中移动处理过的消息
Tks 这不是功能限制,而是服务总线的工作方式 启用自动转发后,Service Bus会自动删除放置在第一个队列或订阅源中的消息,并将其放置在第二个队列或主题目标中
如果您的邮件被转发到另一个队列并从原始队列中删除,那么从同一队列中创建手动接收者是没有意义的。谢谢!我不太理解这种行为。您知道是否有其他方法可以自动将已处理的消息放入另一个队列,而无需使用QueueClient显式发送消息?我之所以需要这个,是因为我想在客户端的流程完成时向客户端发送通知。我找到了我想要的:TksI认为更好的方法是遵循这个示例,当您可以创建另一个带有out参数的消息时