如何使用 Azure 服务总线的 python 处理收到的消息和任何错误我想在一个函数后接收消息

How to Handle received messages and any errors using python of Azure servicebus i want to receive message after one function

问题 - 如何在程序结束时 运行 complete_message() 函数

with servicebus_client:
        # get the Queue Receiver object for the queue
        receiver = servicebus_client.get_queue_receiver(queue_name=QUEUE_NAME, max_wait_time=5)
        with receiver:
            for msg in receiver:
                print("Received: " + str(msg))
                # complete the message so that the message is removed from the queue
                receiver.complete_message(msg)

一般调用complete_message(...)函数表示消息读取成功并声明消息处理成功完成,移除消息从队列中。

对于我们从队列中读取的每条消息,在成功接收后应该被删除,并且 我们可以在阅读每条消息后调用此 complete_message() 并且建议在从 servicebus queue 接收到每条消息后调用此方法,而不是在所有消息结束时调用此方法,因为 Service Bus 中的消息可以在 peek lock 模式下接收,也可以接收和接收删除模式。

在peek lock模式下接收消息时,消息不会从队列中删除。

但是当在接收和删除模式下收到消息时,消息会自动接收并从队列中删除。