共用方式為


ServiceBusReceivedMessage 類別

從服務端接收的服務匯流排訊息。

繼承
azure.servicebus._common.message.ServiceBusMessage
ServiceBusReceivedMessage

建構函式

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

訊息上的使用者定義屬性。

傳回

類型 Description
bytes, <xref:PrimitiveTypes>],

body

訊息的本文。 格式可能會因本文類型而有所不同:針對 DATA ,本文可以是位元組或 Iterable[bytes]。 針對 SEQUENCE ,本文可以是 List 或 Iterable[List]。 針對 VALUE ,本文可以是任何類型。

傳回

類型 Description
Any

body_type

基礎 AMQP 訊息的本文類型。

傳回

類型 Description

content_type

內容類型描述項。

選擇性地描述訊息的承載,並遵循第 5 節RFC2045格式的描述項,例如 「application/json」。

傳回

類型 Description
str,

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

從實體的寄不出的郵件子佇列收到訊息時,寄不出的信件錯誤描述。

傳回

類型 Description
str

dead_letter_reason

寄不出的信件原因,從實體的寄不出的郵件子佇列收到訊息時。

傳回

類型 Description
str

dead_letter_source

此訊息排入佇列或訂用帳戶的佇列或訂用帳戶名稱,在寄不出佇列之前。 此屬性只會在已寄不出的信件的訊息中設定,然後從寄不出的信件佇列自動轉寄到另一個實體。 指示其中訊息已成為無效信件的實體。

傳回

類型 Description
str

delivery_count

針對此訊息嘗試進行的傳遞次數。 當訊息鎖定到期或接收者明確放棄訊息時,計數就會遞增。

傳回

類型 Description
int

enqueued_sequence_number

對於已自動轉送的訊息,此屬性會反映訊息原始提交時首次指派給訊息的序號。

傳回

類型 Description
int

enqueued_time_utc

訊息已接受並儲存在實體中的 UTC 日期時間。

傳回

類型 Description

expires_at_utc

郵件標示為移除的 UTC 日期時間,因為到期而無法再從實體擷取。 到期是由 Message.time_to_live 屬性所控制。 這個屬性是從Message.enqueued_time_utc + Message.time_to_live計算而來。

傳回

類型 Description

lock_token

目前訊息的鎖定權杖,做為代理程式在PEEK_LOCK模式中保留之鎖定的參考。

傳回

類型 Description
UUID,
str

locked_until_utc

在佇列/訂用帳戶中鎖定訊息的 UTC 日期時間。 當鎖定到期時,訊息的傳遞計數會遞增,而且訊息再次可供擷取。

傳回

類型 Description

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
int

session_id

會話實體之訊息的會話識別碼。

對於會話實體,這個應用程式定義的值會指定訊息的會話關聯性。 具有相同工作階段識別碼的訊息會受限於摘要鎖定,並且能夠確實地依序處理和分離信號。 對於非會話實體,會忽略此值。

請參閱 中的 https://docs.microsoft.com/azure/service-bus-messaging/message-sessions 訊息會話。

傳回

類型 Description
str,

state

預設為 [作用中]。 表示訊息的訊息狀態。 可以是作用中、延後。 或已排程。

傳回

類型 Description

subject

應用程式特定主體,有時稱為標籤。

這個屬性可讓應用程式以標準化方式向接收者指出訊息目的,類似於電子郵件主旨行。

傳回

類型 Description
str

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,