【问题标题】:Read and Delete one or more message from azure service bus topic using logic app使用逻辑应用从 Azure 服务总线主题读取和删除一条或多条消息
【发布时间】:2021-04-20 11:42:16
【问题描述】:

我们可以使用逻辑应用从 Azure 服务总线主题读取和删除一条或多条消息吗? 完整消息操作将对逻辑应用执行什么操作。

【问题讨论】:

    标签: azure azure-logic-apps azure-servicebus-topics


    【解决方案1】:

    阅读

    您可以从服务总线读取消息。您可以使用以下连接器和触发器之一:

    Get messages from a queue Get messages from a topic

    或者您可以使用以下触发器之一来读取消息内容:

    1. 在队列中收到消息时(自动完成)
    2. 在队列中收到消息时(窥视锁定)
    3. 在主题订阅中收到消息时(自动完成)
    4. 在主题订阅中收到消息时(peek-lock)
    5. 当一个或多个消息到达队列时(自动完成)当一个 或更多消息到达队列中(peek-lock)
    6. 当一条或多条消息到达某个主题时(自动完成)
    7. 当一个或多个消息到达一个主题时(peek-lock)

    https://docs.microsoft.com/en-us/connectors/servicebus/#triggers

    完成消息操作(也 - 删除)

    该操作完成队列或主题中的消息,具体取决于您使用的连接器。

    完成消息是什么意思? 当发起接收操作时,消息被接收客户端锁定。队列/主题中的消息保持未删除。如果消息未完成,则在锁过期后,该消息将可供接收客户端再次使用。

    所以简而言之完成一条消息意味着该消息应该被标记为已处理并从队列或主题中删除。

    https://docs.microsoft.com/en-us/connectors/servicebus/#get-messages-from-a-queue-(peek-lock)

    更新:

    您可以执行以下操作:

    说明:

    上面的逻辑应用会在带有需要读取的消息计数的 http 请求上触发。

    随后提到的消息计数从服务总线-主题组合中检索并最终完成。

    【讨论】:

    • 感谢您的回复。在这里,我希望使用从主题订阅操作中获取消息,其中我将根据我提供的计数获得多条消息。当我阅读所有这些消息时,我想将每条消息标记为完整。我怎样才能做到这一点?
    • @KarthikDheeraj - 更新了我的答案以满足您的要求。注意 - 为了方便起见,您更改了触发器
    • 如果有帮助请考虑接受这个解决方案:) meta.stackexchange.com/questions/5234/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    相关资源
    最近更新 更多