当前位置: 首页 > 知识库问答 >
问题:

我是否可以将azure功能配置为查看和读取服务总线队列中的消息,但不删除它?

燕元明
2023-03-14

每Azure功能服务总线绑定:

触发行为

...

PeekLock行为-函数运行时在PeekLock模式下接收消息,如果函数成功完成,则调用Complete,如果函数失败,则调用放弃。如果函数的运行时间超过PeekLock超时时间,则会自动续订锁。

我假设当Azure函数调用消息完成时,它将从队列中删除。

如果我希望我的函数监视消息但从不删除它,我应该在函数中做什么?

共有1个答案

龚联
2023-03-14

对消息的不成功处理导致函数抛出异常或对消息的显式放弃操作将不会完成消息。

尽管如此,我认为这种方法存在问题。你不是真的在“监视”这些信息,而是在积极地处理这些信息。这意味着给定的消息将被重新传递,并最终进入死信队列。如果你想监视,你应该偷看消息,但是Azure服务总线触发器不能做到这一点。

如果您需要一个wiretap实现,那么使用一个主题并拥有两个订阅可能不是一个坏主意,一个用于消费消息,另一个用于复制wiretap功能的所有消息(这可能会进行某种分析或记录)。如果不了解你正在做的事情的全部范围,就很难给出答案。

 类似资料:
  • 我以前遇到的类似问题:Azure服务总线队列:我可以管理/取消调度消息吗?-此处接受的答案详细说明了如何取消计划的邮件。 我现在想知道是否有一种方法可以使用AMQP API查看预定的消息。Azure UI(和此方法https://docs.microsoft.com/en-gb/java/api/com.microsoft.Azure.management.servicebus._message_

  • 我想从azure服务总线(队列)读取所有消息。 我已经按照下面的指示链接https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-php-how-to-use-queues 目前它只能获取一条消息。。 我想从服务总线(队列)获取所有消息。 提前谢谢。。

  • 我有一个应用程序,在这个应用程序中,我可以在进程的一部分中以JSON格式将消息写入Azure服务总线队列。我有一个下游进程,我想将该消息从队列中弹出,将json转换为一个对象,然后处理该对象。 我没有问题将消息推送到队列上,但我还没有找到任何将消息从队列中逐一或循环弹出的示例。我在微软或Github上看到的每一个例子都是一个控制台应用程序(在网络应用程序中毫无用处),它设置了某种侦听器,可以抓取队

  • 我是Azure服务总线的新手,我应该将消息推送到队列中,然后有一个单独的计划任务,该任务将读取该队列中的所有活动消息,并将它们批量导入到sql我以前尝试过这个代码,当我调用时它正在工作它在发送消息后立即工作,但现在它在单独的计划任务中不工作。任何帮助为什么或什么我可以用来批量阅读信息或这是不可能的

  • 我试图找出队列中可以调度的消息数量是否有限制。我需要在未来的7到21天内安排数百万条消息。看了这个,但它没有说任何关于预定消息的内容。https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas#messaging-配额

  • 我正在使用Azure服务总线队列。但是我不能使用“获取所有队列消息(peek Lock):微软内置于api”从队列中获取所有消息。 有没有办法获取所有队列消息? {"$连接":{"值":{"servicebus_1":{"连接ID":"/订阅/c776fex3-6aec-4722-b099-b054c267b240/资源组/Plugin-Resources/提供者/Microsoft.网络/连接/