你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ServiceBusReceivedMessage 类
从服务端收到的服务总线消息。
- 继承
-
azure.servicebus._common.message.ServiceBusMessageServiceBusReceivedMessage
构造函数
ServiceBusReceivedMessage(message: 'Message' | 'pyamqp_Message', receive_mode: ServiceBusReceiveMode | str = ServiceBusReceiveMode.PEEK_LOCK, frame: 'TransferFrame' | None = None, **kwargs: Any)
参数
名称 | 说明 |
---|---|
message
必需
|
|
receive_mode
|
默认值: ServiceBusReceiveMode.PEEK_LOCK
|
frame
|
默认值: None
|
示例
检查收到的消息的属性。
from typing import List
from azure.servicebus import ServiceBusReceivedMessage
messages_complex: List[ServiceBusReceivedMessage] = servicebus_receiver.receive_messages(max_wait_time=5)
for message in messages_complex:
print("Receiving: {}".format(message))
print("Time to live: {}".format(message.time_to_live))
print("Sequence number: {}".format(message.sequence_number))
print("Enqueued Sequence number: {}".format(message.enqueued_sequence_number))
print("Partition Key: {}".format(message.partition_key))
print("Application Properties: {}".format(message.application_properties))
print("Delivery count: {}".format(message.delivery_count))
print("Message ID: {}".format(message.message_id))
print("Locked until: {}".format(message.locked_until_utc))
print("Lock Token: {}".format(message.lock_token))
print("Enqueued time: {}".format(message.enqueued_time_utc))
变量
名称 | 说明 |
---|---|
auto_renew_error
|
<xref:azure.servicebus.AutoLockRenewTimeout> 或
<xref:azure.servicebus.AutoLockRenewFailed>
使用 AutoLockRenewer 且无法续订消息锁时出错。 |
属性
application_properties
body
消息的正文。 格式可能因正文类型而异:对于 DATA,正文可以是字节或 Iterable[bytes]。 对于 SEQUENCE,正文可以是 List 或 Iterable[List]。 对于 VALUE,正文可以是任意类型。
返回
类型 | 说明 |
---|---|
body_type
content_type
correlation_id
相关标识符。
允许应用程序出于关联目的指定消息的上下文。例如,反映正在答复的消息的 MessageId。
请参阅 中的 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation消息路由和关联。
返回
类型 | 说明 |
---|---|
str,
|
dead_letter_error_description
dead_letter_reason
dead_letter_source
delivery_count
enqueued_sequence_number
enqueued_time_utc
expires_at_utc
将邮件标记为要删除且由于过期而无法再从实体检索的 UTC 日期时间。 过期由 Message.time_to_live 属性控制。 此属性从 Message.enqueued_time_utc + Message.time_to_live计算。
返回
类型 | 说明 |
---|---|
lock_token
locked_until_utc
message
获取基础 LegacyMessage。 它已弃用,将在更高版本中删除。
返回
类型 | 说明 |
---|---|
<xref:LegacyMessage>
|
message_id
用于标识消息的 ID。
消息标识符是应用程序定义的值,可用于唯一标识消息及其有效负载。 此标识符是自由格式字符串,可反映 GUID 或派生自应用程序上下文的标识符。 如果启用,重复检测 (看到 https://docs.microsoft.com/azure/service-bus-messaging/duplicate-detection) 功能标识并删除具有相同消息 ID 的第二次和后续提交。
返回
类型 | 说明 |
---|---|
str,
|
partition_key
用于向分区实体发送消息的分区键。
设置此值可将相关消息分配给同一内部分区,以便正确记录提交顺序。 分区是由哈希函数通过此值进行选择,无法直接选择。
请参阅 中的 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning分区队列和主题。
返回
类型 | 说明 |
---|---|
str,
|
raw_amqp_message
仅限高级用法。 发送或接收的内部 AMQP 消息有效负载。 :rtype: ~azure.servicebus.amqp.AmqpAnnotatedMessage
reply_to
要向其发送答复的实体的地址。
应用程序定义的这一可选值是一种标准方法,可用于向消息接收程序明示答复路径。 如果发送程序希望收到答复,它会将此值设置为,要将答复发送到的队列或主题的绝对或相关路径。
请参阅 中的 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation消息路由和关联。
返回
类型 | 说明 |
---|---|
str,
|
reply_to_session_id
用于扩充 reply_to地址的 会话标识符。
此值扩充 reply_to 信息,并指定在发送到答复实体时应为答复设置的会话 ID。
请参阅 中的 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation消息路由和关联。
返回
类型 | 说明 |
---|---|
str,
|
scheduled_enqueue_time_utc
utc 计划的排队时间到消息。
此属性可用于通过 ServiceBusSender.send 方法发送消息时进行计划。 如果需要取消计划消息,则应使用 ServiceBusSender.schedule 方法,该方法返回可用于将来取消的序列号。 如果未设置,scheduled_enqueue_time_utc为 None。
返回
类型 | 说明 |
---|---|
sequence_number
服务总线分配给消息的唯一编号。 序列号是在中转站接受并存储消息时分配给消息的唯一 64 位整数,可用作真正的标识符。 对于已分区实体,最前面的 16 位数反映的是分区标识符。 序列号单调增加。 在 48-64 位范围用尽后,序列号会回滚到 0。
返回
类型 | 说明 |
---|---|
session_id
会话实体的消息的会话标识符。
对于会话实体,此应用程序定义的值指定消息的会话附属关系。 会话标识符相同的消息会处于摘要锁定状态,并确切启用依序处理和解多路复用。 对于非会话实体,将忽略此值。
请参阅 中的 https://docs.microsoft.com/azure/service-bus-messaging/message-sessions消息会话。
返回
类型 | 说明 |
---|---|
str,
|
state
subject
time_to_live
消息的生存期。
此值是消息过期的相对持续时间,从中转站接受并存储消息的瞬间开始 ,如enqueued_time_utc中捕获的那样。 如果未明确设置,假设值为适用于相应队列或主题的 DefaultTimeToLive。 消息级别的生存时间值不能超过实体的生存时间设置,如果存在,则会以无提示方式进行调整。
请参阅 中的过期时间 https://docs.microsoft.com/azure/service-bus-messaging/message-expiration
返回
类型 | 说明 |
---|---|
to
要寻址 的 。
此属性已保留,以供将来用于路由方案,暂被中转站本身忽略。 应用程序可以在规则驱动的自动转发链方案中使用此值,指明消息的预期逻辑目标。
有关详细信息,请参阅 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding 。
返回
类型 | 说明 |
---|---|
str,
|