【问题标题】:How to receive JSON object from the azure service bus topic subscriptions如何从 Azure 服务总线主题订阅接收 JSON 对象
【发布时间】:2017-02-02 15:46:21
【问题描述】:

我对实现 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","登录":"qqqqqqqqqq","密码":"Pass@1234","homePhone":"233322","mobilePhone":"1111111122asdf","workPhone":"22222", "gender":1,"centerId":"I23642","userType":"student","staffRole":null,"staffActive":false}

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

问候,

帕蒂班。

【问题讨论】:

    标签: json azure c#-4.0 azureservicebus azure-servicebus-topics


    【解决方案1】:

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

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

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

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

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

    一句话——从图片上看,您的所有消息都具有相同的 ID。很难看到它,因为它切断了。这是个好习惯

    【讨论】:

    • 当然。它工作正常。现在我可以使用 .ReceiveBatchAsync() 从服务总线接收大量消息。感谢您的大力支持。
    猜你喜欢
    • 2017-10-23
    • 2020-12-30
    • 2019-02-12
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2016-02-10
    相关资源
    最近更新 更多