ServiceBusMessage Klasa

Komunikat usługi Service Bus.

Dziedziczenie
builtins.object
ServiceBusMessage

Konstruktor

ServiceBusMessage(body: str | bytes | None, *, application_properties: Dict[str | bytes, int | float | bytes | bool | str | UUID] | None = None, session_id: str | None = None, message_id: str | None = None, scheduled_enqueue_time_utc: datetime | None = None, time_to_live: timedelta | None = None, content_type: str | None = None, correlation_id: str | None = None, subject: str | None = None, partition_key: str | None = None, to: str | None = None, reply_to: str | None = None, reply_to_session_id: str | None = None, **kwargs: Any)

Parametry

body
Optional[Union[str, bytes]]
Wymagane

Dane do wysłania w jednym komunikacie.

application_properties
Dict[str, Union[int lub float lub bool lub bytes lub str lub UUID lub datetime lub None]]

Właściwości zdefiniowane przez użytkownika w komunikacie.

session_id
Optional[str]

Identyfikator sesji komunikatu dla jednostki sesji.

message_id
Optional[str]

Identyfikator identyfikujący komunikat.

scheduled_enqueue_time_utc
Optional[datetime]

Zaplanowany czas w kolejce utc do wiadomości.

time_to_live
Optional[timedelta]

Czas trwania wiadomości.

content_type
Optional[str]

Deskryptor typu zawartości.

correlation_id
Optional[str]

Identyfikator korelacji.

subject
Optional[str]

Temat specyficzny dla aplikacji, czasami określany jako etykieta.

partition_key
Optional[str]

Klucz partycji do wysyłania komunikatu do jednostki podzielonej na partycje.

to
Optional[str]

Element do adresu używany w scenariuszach tworzenia łańcuchów auto_forward.

reply_to
Optional[str]

Adres jednostki do wysyłania odpowiedzi.

reply_to_session_id
Optional[str]

Identyfikator sesji powiększający adres reply_to .

Przykłady

Wysyłanie komunikatu z dodatkowymi właściwościami


   message_send = ServiceBusMessage(
       "Hello World!!",
       session_id="MySessionID",
       application_properties={'data': 'custom_data'},
       time_to_live=datetime.timedelta(seconds=30),
       label='MyLabel'
   )

Atrybuty

application_properties

Właściwości zdefiniowane przez użytkownika w komunikacie.

Typ zwracany

bytes, <xref:PrimitiveTypes>],

body

Treść wiadomości. Format może się różnić w zależności od typu treści: w DATAprzypadku treści mogą być bajty lub iterowalne[bajty]. W przypadku SEQUENCEelementu treść może mieć wartość List lub Iterable[List]. W przypadku VALUEelementu treść może być dowolnym typem.

Typ zwracany

Any

body_type

Typ treści bazowego komunikatu PROTOKOŁU AMQP.

Typ zwracany

content_type

Deskryptor typu zawartości.

Opcjonalnie opisano ładunek komunikatu z deskryptorem w formacie RFC2045, sekcja 5, na przykład "application/json".

Typ zwracany

str,

correlation_id

Identyfikator korelacji.

Umożliwia aplikacji określenie kontekstu komunikatu na potrzeby korelacji, na przykład odzwierciedlające identyfikator MessageId komunikatu, na który jest odpowiadana.

Zobacz Routing komunikatów i korelacja w pliku https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation.

Typ zwracany

str,

message

Pobierz podstawowy uamqp. Message lub LegacyMessage. Jest to przestarzałe i zostanie usunięte w nowszej wersji.

Typ zwracany

<xref:uamqp.Message>,
<xref:LegacyMessage>

message_id

Identyfikator identyfikujący komunikat.

Identyfikator komunikatu to wartość zdefiniowana przez aplikację, która jednoznacznie identyfikuje komunikat i jego ładunek. Identyfikator jest ciągiem swobodnym i może odzwierciedlać identyfikator GUID lub identyfikator pochodzący z kontekstu aplikacji. Jeśli to ustawienie jest włączone, funkcja wykrywania duplikatów (zobacz https://docs.microsoft.com/azure/service-bus-messaging/duplicate-detection) identyfikuje i usuwa drugie i dalsze przesyłanie komunikatów o tym samym identyfikatorze komunikatu.

Typ zwracany

str,

partition_key

Klucz partycji do wysyłania komunikatu do jednostki podzielonej na partycje.

Ustawienie tej wartości umożliwia przypisywanie powiązanych komunikatów do tej samej partycji wewnętrznej, dzięki czemu kolejność sekwencji przesyłania jest poprawnie rejestrowana. Partycja jest wybierana przez funkcję skrótu dla tej wartości i nie można jej wybrać bezpośrednio.

Zobacz Partycjonowane kolejki i tematy w temacie https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning.

Typ zwracany

str,

raw_amqp_message

Tylko użycie zaawansowane. Wewnętrzny ładunek komunikatu protokołu AMQP, który jest wysyłany lub odbierany. :rtype: ~azure.servicebus.amqp.AmqpAnnotatedMessage

reply_to

Adres jednostki do wysyłania odpowiedzi.

Ta opcjonalna i zdefiniowana przez aplikację wartość jest standardowym sposobem wyrażania ścieżki odpowiedzi do odbiorcy komunikatu. Gdy nadawca oczekuje odpowiedzi, ustawia wartość na bezwzględną lub względną ścieżkę kolejki lub tematu, do których oczekuje wysłania odpowiedzi.

Zobacz Routing komunikatów i korelacja w pliku https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation.

Typ zwracany

str,

reply_to_session_id

Identyfikator sesji powiększający adres reply_to .

Ta wartość rozszerza informacje o reply_to i określa, który identyfikator sesji należy ustawić dla odpowiedzi po wysłaniu do jednostki odpowiedzi.

Zobacz Routing komunikatów i korelacja w pliku https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation.

Typ zwracany

str,

scheduled_enqueue_time_utc

Zaplanowany czas w kolejce utc do wiadomości.

Ta właściwość może służyć do planowania podczas wysyłania komunikatu za pośrednictwem metody ServiceBusSender.send . Jeśli wymagane jest anulowanie zaplanowanych komunikatów, należy użyć metody ServiceBusSender.schedule , która zwraca numery sekwencji, które mogą być używane do przyszłego anulowania. scheduled_enqueue_time_utc ma wartość Brak, jeśli nie jest ustawiona.

Typ zwracany

session_id

Identyfikator sesji komunikatu dla jednostki sesji.

W przypadku jednostek sesji ta wartość zdefiniowana przez aplikację określa przynależność sesji komunikatu. Komunikaty z tym samym identyfikatorem sesji podlegają blokadzie podsumowania i umożliwiają dokładne przetwarzanie w kolejności i demultiplexing. W przypadku jednostek niesesyjnej ta wartość jest ignorowana.

Zobacz Sesje komunikatów w programie https://docs.microsoft.com/azure/service-bus-messaging/message-sessions.

Typ zwracany

str,

subject

Temat specyficzny dla aplikacji, czasami określany jako etykieta.

Ta właściwość umożliwia aplikacji wskazanie celu wiadomości odbiorcy w ustandaryzowany sposób, podobnie jak w wierszu tematu wiadomości e-mail.

Typ zwracany

str

time_to_live

Czas trwania wiadomości.

Ta wartość jest względnym czasem trwania, po upływie którego komunikat wygaśnie, począwszy od momentu zaakceptowania wiadomości i jego przechowywania przez brokera w sposób przechwycony w enqueued_time_utc. Jeśli nie zostanie jawnie ustawiona, zakładana wartość to DefaultTimeToLive odpowiedniej kolejki lub tematu. Wartość czasu wygaśnięcia na poziomie komunikatu nie może być dłuższa niż ustawienie czasu wygaśnięcia jednostki i jest w trybie dyskretnym dostosowywane, jeśli tak się stanie.

Zobacz Wygasanie w https://docs.microsoft.com/azure/service-bus-messaging/message-expiration

Typ zwracany

to

Adres do .

Ta właściwość jest zarezerwowana do użytku w przyszłości w scenariuszach routingu i obecnie ignorowana przez samego brokera. Aplikacje mogą używać tej wartości w scenariuszach automatycznego przekazywania reguł w celu wskazania zamierzonego logicznego miejsca docelowego komunikatu.

Zobacz https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding , aby uzyskać więcej informacji.

Typ zwracany

str,