【问题标题】:Receive and Delete messages from Event Hub从事件中心接收和删除消息
【发布时间】:2020-02-25 01:32:43
【问题描述】:

我知道事件中心中的消息会在一段时间后过期,具体取决于我们的配置方式,但有什么方法可以通过代码或 Azure 门户中的配置删除在事件中心中接收到的事件我们一收到?

【问题讨论】:

    标签: azure azure-eventhub


    【解决方案1】:

    请查看此文档以在 eventthub 中发送和接收消息;

    https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-java-get-started-send https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-dotnet-framework-getstarted-send

    目前,没有删除所有消息的机制。邮件在 24 小时保留期后自动过期。如果您只关心订阅时的消息,您可以使用最新的 SubscribeRecency 进行一次性订阅(检查 java sdk 的确切值)。

    订阅是持久的,如果您断开连接并重新连接,您只会在第一次订阅时看到最新消息,而不是每次都看到,即消息传递将从第一次订阅时的最新消息开始,随后的重新连接将继续传递自上次订阅以来发布的消息已连接

    【讨论】:

    • 我认为您的陈述在这里不正确 - “后续重新连接将恢复发送自您上次连接以来发布的消息”。这不是使用“入门代码”发生的事情(我知道,因为它现在发生在我身上!)。我可以获取集线器上的所有内容,或者从我订阅时到达的所有内容,但不是自从我的阅读器上次连接后到达/已经到达的所有内容
    【解决方案2】:

    如果您希望在收到消息后删除它们,您可能需要考虑 Azure Service Bus Queues - 他们完全支持这一点。

    【讨论】:

      【解决方案3】:

      事件中心提供不可变的仅附加日志,换句话说,事件一旦创建就不应更改。将 EH 消息视为某个时间点的事件,因此您不能及时过去并更改事件。

      如果您需要可变消息传递,请考虑使用 Azure 服务总线。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-15
        • 1970-01-01
        • 2015-06-21
        • 2015-12-03
        • 1970-01-01
        • 2023-03-05
        相关资源
        最近更新 更多