0

我对实现 Azure 服务总线接收来自主题订阅的消息表示怀疑。我们在我们的组织中使用多个应用程序,我们需要在一个子系统之间共享数据,以便我们使用 azure 服务总线。在这里,我的一个应用程序经常向服务总线主题订阅发送消息。每当在我们的应用程序中创建新用户帐户时,每次用户配置文件数据都会将数据发送到相应的服务总线主题订阅。我在下面提到了我必须接收 JSON 对象的快照。消息存储为 JSON 对象。

在此处输入图像描述

JSON对象:

{"id":"N322333","firstName":"adsdddd","lastName":"asddd","email":"hello@gmail.com123ZXc","emailVerified":false,"dateOfBirth":"2016- 08-03","登录":"qqqqqqqqqq","密码":"Pass@1234","homePhone":"233322","mobilePhone":"1111111122asdf","workPhone":"22222","gender" :1,"centerId":"I23642","userType":"student","staffRole":null,"staffActive":false}

现在,我将接收那些在移动到死信之前已经发送到天蓝色服务总线主题订阅队列的 JSON 对象。JSON 对象可以存储在订阅上的 JSON 对象列表。我搜索了很多示例,但无法找到合适的解决方案。请让我分享您的建议如何接收 JSON 对象列表?我会等待你的回应。

问候,

帕蒂班。

4

1 回答 1

0

a 的有效负载BrokeredMessage是应用程序的唯一业务。您可以控制您在消息中发送的内容。如果可以,您可以将 JSON 对象作为单个有效负载发送到单个代理消息中并处理该列表。

如果您询问如何检索多条消息并合并到一个列表中,现在有两个方面

  1. 技术:如何接收多条消息
  2. 逻辑+技术:如何聚合多条消息并在逻辑上知道列表何时是要处理的完整列表。

第一项并不难,您可以使用批量接收消息.ReceiveBatchAsync()

第二项真正取决于您的实施。如果您需要汇总这些个人消息并处理一个列表,您必须回答一些问题,例如有多少消息构成一个列表,您是否有时间段发生这种情况,当这些项目到达时您如何以及在哪里存储它们。也许您只是存储这些消息,而一个单独的进程通过在一个时间段上构建一个列表等来进行处理。

一句话 - 从图像上看,您的所有消息都具有相同的 ID。当它切断时很难看到它。这是一个好习惯

于 2017-02-02T18:06:49.847 回答