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

Azure服务总线:队列上没有消息,只有请求

阳兴朝
2023-03-14

我试图使用服务总线队列作为IoT中心终结点将消息从IoT中心路由到函数应用。发送到IoT中心的消息在IoT中心中注册,但不会路由到服务总线队列。当我监视服务总线队列时,我只看到成功的请求。

我使用以下标准实现了两个路由规则:

$._eventtype="meeting"

$body._eventtype="meeting"

我用Azure提供的示例测试了第二个,结果与之匹配。它们似乎都没有将消息转发到服务总线。

在下面找到一条示例消息,我正在尝试发送该消息。

{"_room": "-----", 
 "_eventtype": "meeting", 
 "_temperature": 25, 
 "_building": "-----", 
 "_timestamp": "2018-01-24T11:08:13.056792Z", 
 "_humidity": 36, 
 "_id": 0}

共有3个答案

柳玄裳
2023-03-14

您没有提到客户端或协议,但如果您正在使用IoT客户端SDK for Node。js和AMQP(可能也有MQTT),则在主体属性上路由不起作用。

这篇博文暗示它应该这样做,但最近才打开一个bug,表明它尚未实现。

夏侯华彩
2023-03-14

除了@Roman Kiss指出的,确保您启用了服务总线的侦听权限来接收消息。

您可以按照“从队列endpoint读取”接收路由到服务总线队列的消息。

刘才俊
2023-03-14

消息正文的路由表达式正确。看起来,您的事件消息缺少内容类型和内容编码头,请参阅此处的更多详细信息。

在这种情况下,当您的设备是MQTT直接连接时,请使用以下主题,例如Device1:

devices/Device1/messages/events/$.ce=utf-8&$.ct=application%2Fjson

对于Http连接的设备:

content-encoding:utf-8
content-type:application/json
 类似资料:
  • 我正在通过HTTP POST将消息发送到我的Azure事件中心(用于IoT中心和Blob存储)。 我试过: 不同的SAS密钥和所有者 不同的标题以及没有标题 找到这个问题后,我添加了标题。我还确保检查了权限,就像那里建议的那样,但是它们已经设置到了必要的级别。 我的问题: 1.是否需要手动添加同名服务总线终结点?我假设当你创建一个事件中心时,它会自动为你创建服务总线。 2。有没有可能我看到的请求和

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

  • 我知道有一种方法可以确定Azure队列(商店帐户)中的邮件数量(或近似数量);但是,有没有办法查询Azure服务总线队列上挂起的消息数?

  • 我有一个windows服务,它侦听Azure服务总线队列消息,以便从我的WebApi应用程序分发处理。此外,我还需要处理重复性任务(每晚/每周),我认为最好使用相同的系统来处理这些任务。 例如,假设我有一个“CleanupDb”队列,每天午夜删除过时的DB节点: 理论上这应该行得通,但我觉得我错过了一个更明显的处理方法。有没有更好的办法?

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

  • 我有一个包含不同会话标识的消息的servicebus队列。是否有办法获取特定会话ID的消息计数?