我正在将一条消息从设备发送到Azure IoT集线器,该集线器具有一个设置的路由,以将所有设备消息转发到Azure服务总线。我注意到一个bug,服务总线上的第一个bokered消息Id都是空的。以下消息可以使用有效的消息Id。
设备代码:
var messageString = JsonConvert.SerializeObject("json msg");
var message = new Message(Encoding.ASCII.GetBytes(messageString));
_deviceClient = DeviceClient.Create(IotHubUri, new DeviceAuthenticationWithRegistrySymmetricKey(DeviceId, DeviceKey), TransportType.Amqp);
await _deviceClient.SendEventAsync(message);
任何故障排除的想法?
这似乎是相关的:使用Azure IoTHub路由时,AMQP消息为空
您的设备应该填充消息ID,例如:
message.MessageId = "your message id";
如果我们有多个使用者并且希望执行pub-sub消息传递,那么我们应该为每个消息类型创建一个主题,为每个消息类型的使用者创建一个订阅,还是只为所有消息创建一个主题,然后在使用者上处理路由?
我正在尝试在Azure中构建一个简单的WebAPI REST服务,后端有一个服务总线队列工作器。我可以从Web API向工作人员发送一条消息。然而,我试图发送更多的信息,只是为了看看一切是如何运作的。因此,我创建了一个简单的控制器,如下所示: 当我呼叫控制器时,我只收到工作人员接收到的大约1/2的消息。其余的似乎都被放弃了。
我在Azure中托管了两个云服务辅助角色,一个使用NServiceBus(Azure服务总线传输)消耗消息,另一个生成消息。 昨天,我部署了一个新版本的生产者工作者角色,而队列中仍然有大量消息,因为我们正在处理早上遗留下来的大量消息。当生产者启动时,它似乎已经清空(或者可能重新创建)队列,许多重要的生产消息丢失。这似乎很奇怪,但日志显示,大约在生产者角色启动时,消费者没有处理进一步的消息,我们知道
我在Azure Service Bus中使用代理消息传递(主题/订阅),我很好奇如何(或者是否)使用SSL保护通信。
我正在使用Python开发一个集成,从不同的Azure服务总线主题和队列中读取消息。但我在安排留言时有个问题。我无法查看计划的邮件。我想偷看它们,然后要么完成,要么让它们不读,直到预定的时间。我尝试查看队列和主题,但我找不到任何文档说明如何查看其中任何一个排定的消息。有人设法做到了吗?应该是一个非常常见的用例。在使用标准的REST调用时也没有发现任何问题。
我正在使用带有.NET核心的Azure服务总线 在我们的应用程序中,我们正在向服务总线发送会话消息。每当我们收到带有session-Id的取消请求时,我们需要删除/删除/完成带有该特定sessionId的消息,而不需要进行任何进一步的处理 但我得到了错误-请求的会话'session-name'不能被接受。它可能被另一个接收器锁定。