如何从 Azure 服务总线主题订阅中接收 JSON 对象

How to receive JSON object from the azure service bus topic subscriptions

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

enter image description here

JSON 对象:

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

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

此致,

帕提班。

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

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

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

第一项不难,使用.ReceiveBatchAsync()

可以批量接收消息

第二项确实取决于您的实施。如果您需要聚合这些单独的消息并处理一个列表,您必须回答诸如有多少条消息构成一个列表、您是否有时间段、这些项目到达时如何存储以及存储在何处等问题。也许您只是存储这些消息,然后一个单独的进程通过构建一个时间段列表等来进行处理。

注意一点 - 从图像上看,您的所有消息似乎都具有相同的 ID。很难看到它,因为它切断了。这是一个好习惯