如何在Python中从Azure服务队列中查看C消息

时间:2019-08-09 19:42:30

标签: python azure servicebus

我正在使用Azure服务总线来查看从服务总线服务发送的消息的消息内容。

我正在使用message.get_message()命令,它返回文档中指定的c消息 https://docs.microsoft.com/en-us/python/api/uamqp/uamqp.message.message?view=azure-python

是否可以查看c消息的内容?

<uamqp.c_uamqp.cMessage object at 0x0000000003180F50>

1 个答案:

答案 0 :(得分:0)

关于c消息的内容是什么意思?

我认为您收到的c消息的内容是发送消息的日期。因此,根据官方API参考Message class,您应使用message.get_data()来获取消息的body来查看其内容,如下图所示。

enter image description here

或者仅通过print(...)进行查看,就像示例代码azure-uamqp-python/samples/sample_uamqp_receive_simple.py一样。

message = uamqp.receive_message(uri, auth=plain_auth)
print("Received: {}".format(message))

如果您的真实意图是解析uamqp.c_uamqp.cMessage的{​​{1}}数据结构以查看内部内容,则可以使用源代码{{3 }}和Parsing C Structs in Python中的message.h以及Python封装器代码message.c来尝试对其进行解析。

我在上面查看了它们之后,massage的核心数据结构如下。

uamqp.c_uamqp.cMessage

希望有帮助。