ServiceBusReceivedMessage 類別
從服務端接收的服務匯流排訊息。
- 繼承
-
azure.servicebus._common.message.ServiceBusMessageServiceBusReceivedMessage
建構函式
ServiceBusReceivedMessage(message: 'Message' | 'pyamqp_Message', receive_mode: ServiceBusReceiveMode | str = ServiceBusReceiveMode.PEEK_LOCK, frame: 'TransferFrame' | None = None, **kwargs: Any)
參數
名稱 | Description |
---|---|
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))
變數
名稱 | Description |
---|---|
auto_renew_error
|
<xref:azure.servicebus.AutoLockRenewTimeout> 或
<xref:azure.servicebus.AutoLockRenewFailed>
使用 AutoLockRenewer 且無法更新訊息鎖定時發生錯誤。 |
屬性
application_properties
body
訊息的本文。 格式可能會因本文類型而有所不同:針對 DATA ,本文可以是位元組或 Iterable[bytes]。 針對 SEQUENCE ,本文可以是 List 或 Iterable[List]。 針對 VALUE ,本文可以是任何類型。
傳回
類型 | Description |
---|---|
body_type
content_type
correlation_id
相互關聯識別碼。
允許應用程式指定訊息環境以供相互關聯之用,例如,反映正要回覆訊息的 MessageId。
請參閱 中的 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation 訊息路由和相互關聯。
傳回
類型 | Description |
---|---|
str,
|
dead_letter_error_description
dead_letter_reason
dead_letter_source
此訊息排入佇列或訂用帳戶的佇列或訂用帳戶名稱,在寄不出佇列之前。 此屬性只會在已寄不出的信件的訊息中設定,然後從寄不出的信件佇列自動轉寄到另一個實體。 指示其中訊息已成為無效信件的實體。
傳回
類型 | Description |
---|---|
delivery_count
enqueued_sequence_number
enqueued_time_utc
expires_at_utc
郵件標示為移除的 UTC 日期時間,因為到期而無法再從實體擷取。 到期是由 Message.time_to_live 屬性所控制。 這個屬性是從Message.enqueued_time_utc + Message.time_to_live計算而來。
傳回
類型 | Description |
---|---|
lock_token
locked_until_utc
message
取得基礎 LegacyMessage。 這是已被取代的,將會在較新的版本中移除。
傳回
類型 | Description |
---|---|
<xref:LegacyMessage>
|
message_id
要識別訊息的識別碼。
訊息識別碼是應用程式定義的值,可唯一識別訊息及其承載。 識別碼是一個自由格式的字串,可以反映 GUID 或衍生自應用程式內容的識別碼。 如果啟用,重複偵測 (會看到 https://docs.microsoft.com/azure/service-bus-messaging/duplicate-detection) 功能識別並移除具有相同訊息識別碼之訊息的第二個和進一步提交。
傳回
類型 | Description |
---|---|
str,
|
partition_key
用來將訊息傳送至資料分割實體的分割區索引鍵。
設定此值可讓您將相關訊息指派給相同的內部分割區,以便正確記錄提交順序順序。 資料分割會由雜湊函式透過此值來選擇,無法直接選擇。
請參閱 中的資料 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning 分割佇列和主題。
傳回
類型 | Description |
---|---|
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 訊息路由和相互關聯。
傳回
類型 | Description |
---|---|
str,
|
reply_to_session_id
增強 reply_to 位址的會話識別碼。
此值會增強 reply_to 資訊,並指定傳送至回復實體時,應為回復設定哪些會話識別碼。
請參閱 中的 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation 訊息路由和相互關聯。
傳回
類型 | Description |
---|---|
str,
|
scheduled_enqueue_time_utc
郵件的 utc 排程排入佇列時間。
此屬性可用於透過 ServiceBusSender.send 方法傳送訊息時進行排程。 如果需要取消排程訊息,您應該使用 ServiceBusSender.schedule 方法,此方法會傳回可用於未來取消的序號。 如果未設定,scheduled_enqueue_time_utc 為 None。
傳回
類型 | Description |
---|---|
sequence_number
依服務匯流排指派給訊息的唯一號碼。 序號是指派給訊息的唯一 64 位元整數,會由訊息代理程式和函式所接收並儲存,以作為真正的識別碼。 對於分割的實體,最前面的 16 位元會反映分割區識別碼。 序號單調增加。 它們會在 48 - 64 位元範圍用盡時回復為 0。
傳回
類型 | Description |
---|---|
session_id
會話實體之訊息的會話識別碼。
對於會話實體,這個應用程式定義的值會指定訊息的會話關聯性。 具有相同工作階段識別碼的訊息會受限於摘要鎖定,並且能夠確實地依序處理和分離信號。 對於非會話實體,會忽略此值。
請參閱 中的 https://docs.microsoft.com/azure/service-bus-messaging/message-sessions 訊息會話。
傳回
類型 | Description |
---|---|
str,
|
state
subject
time_to_live
訊息的存留期。
此值是訊息到期的相對持續時間,從訊息代理程式已接受並儲存的立即開始,如 enqueued_time_utc中所擷取。 未明確設定時,所使用的值便是對應佇列或主題的 DefaultTimeToLive。 訊息層級的存留時間值不能超過實體的存留時間設定,而且會以無訊息方式調整。
請參閱 中的到期日 https://docs.microsoft.com/azure/service-bus-messaging/message-expiration
傳回
類型 | Description |
---|---|
to
要定址 的 。
這個屬性乃是保留以供日後路由傳送案例使用,訊息代理程式目前會忽略這個屬性。 應用程式可在規則驅動的自動轉送鏈結案例中使用此值,以指出訊息預期的邏輯目的地。
如需更多詳細資料,請參閱 https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding \(英文\)。
傳回
類型 | Description |
---|---|
str,
|