我创建了一个azure web作业,它可以触发服务总线队列消息。当我运行web作业时,它处理来自服务总线队列的消息,我的一些简单问题如下;
有没有一种方法可以让web作业只在传递到队列的新消息上触发,而不进行处理,从而使消息完整并从队列中删除?
我目前正在使用";Servicebustrigger";以触发我的函数类中的队列。
public void Processservicebus([ServiceBusTrigger("%Values:QueueName%", AutoCompleteMessages = false, Connection = "ServiceBusConnection")] string myQueueItem, ILogger log)
{
log.LogInformation(myQueueItem);
var testGetConfig = _configuration.GetValue<string>("Values:QueueName");
}
服务总线消息触发的函数将处理消息。这就是它的设计目的。无论是否配置为自动完成,在队列的MaxDeliveryCount
设置指定的N次处理尝试后,消息都将从队列中消失(已完成(或死信(自动完成关闭(。
对于您所要求的,关于消息存在和由其他功能处理的纯通知,您需要审查您的设计。