[英]Auto forward message in Azure Function with Service Bus trigger
当我有自动转发队列时,Azure功能无法启动:
函数XXX错误:函数'FunctionXXX'的侦听器无法启动。 Microsoft.ServiceBus:无法在启用了自动转发的实体上创建消息接收器。
// 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会自动删除放置在第一个队列或订阅(源)中的消息,并将它们放入第二个队列或主题(目的地)中。
如果您的消息被转发到另一个队列并从原始队列中删除,则从同一队列创建手动接收者实际上没有任何意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.