Condividi tramite


ServiceBusMessage Classe

Messaggio del bus di servizio.

Ereditarietà
builtins.object
ServiceBusMessage

Costruttore

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)

Parametri

body
Optional[Union[str, bytes]]
Necessario

Dati da inviare in un singolo messaggio.

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

Proprietà definite dall'utente nel messaggio.

session_id
Optional[str]

Identificatore di sessione del messaggio per un'entità con sessione.

message_id
Optional[str]

ID per identificare il messaggio.

scheduled_enqueue_time_utc
Optional[datetime]

Ora dell'ora utc pianificata al messaggio.

time_to_live
Optional[timedelta]

Durata di un messaggio.

content_type
Optional[str]

Descrittore del tipo di contenuto.

correlation_id
Optional[str]

Identificatore di correlazione.

subject
Optional[str]

Oggetto specifico dell'applicazione, talvolta definito etichetta.

partition_key
Optional[str]

Chiave di partizione per l'invio di un messaggio a un'entità partizionata.

to
Optional[str]

Oggetto da gestire per gli scenari di concatenamento di auto_forward.

reply_to
Optional[str]

Indirizzo di un'entità a cui inviare risposte.

reply_to_session_id
Optional[str]

Identificatore di sessione che aumenta l'indirizzo di reply_to .

Esempio

Invio di un messaggio con proprietà aggiuntive


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

Attributi

application_properties

Proprietà definite dall'utente nel messaggio.

Tipo restituito

bytes, <xref:PrimitiveTypes>],

body

Corpo del messaggio. Il formato può variare a seconda del tipo di corpo: per DATA, il corpo potrebbe essere byte o Iterable[byte]. Per SEQUENCE, il corpo potrebbe essere List o Iterable[List]. Per VALUE, il corpo potrebbe essere qualsiasi tipo.

Tipo restituito

Any

body_type

Tipo di corpo del messaggio AMQP sottostante.

Tipo restituito

content_type

Descrittore del tipo di contenuto.

Facoltativamente viene descritto il payload del messaggio, con un descrittore che segue il formato di RFC2045, sezione 5, ad esempio "application/json".

Tipo restituito

str,

correlation_id

Identificatore di correlazione.

Consente a un'applicazione di specificare un contesto per il messaggio per finalità di correlazione, ad esempio rispecchiando il valore MessageId di un messaggio a cui si risponde.

Vedere Routing e correlazione dei messaggi in https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation.

Tipo restituito

str,

message

Ottenere l'uamqp sottostante. Messaggio o LegacyMessage. Questa operazione è deprecata e verrà rimossa in una versione successiva.

Tipo restituito

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

message_id

ID per identificare il messaggio.

Questo identificatore di messaggio è un valore definito dall'applicazione che identifica in modo univoco il messaggio e il rispettivo payload. L'identificatore è una stringa freeform e può rispecchiare un GUID o un identificatore derivato dal contesto dell'applicazione. Se abilitata, la funzionalità di rilevamento duplicato (vedere https://docs.microsoft.com/azure/service-bus-messaging/duplicate-detection) identifica e rimuove la seconda e ulteriori invii di messaggi con lo stesso ID messaggio.

Tipo restituito

str,

partition_key

Chiave di partizione per l'invio di un messaggio a un'entità partizionata.

L'impostazione di questo valore consente di assegnare messaggi correlati alla stessa partizione interna, in modo che l'ordine della sequenza di invio venga registrato correttamente. La partizione viene scelta in base a una funzione hash su questo valore e non può essere scelta direttamente.

Vedere Code e argomenti partizionati in https://docs.microsoft.com/azure/service-bus-messaging/service-bus-partitioning.

Tipo restituito

str,

raw_amqp_message

Solo utilizzo avanzato. Payload del messaggio AMQP interno inviato o ricevuto. :rtype: ~azure.servicebus.amqp.AmqpAnnotatedMessage

reply_to

Indirizzo di un'entità a cui inviare risposte.

Questo valore facoltativo e definito dall'applicazione è un modo standard per esprimere un percorso di risposta verso il ricevitore del messaggio. Quando un mittente si aspetta una risposta, imposta il valore sul percorso assoluto o relativo della coda o dell'argomento a cui si prevede che venga inviata la risposta.

Vedere Routing e correlazione dei messaggi in https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation.

Tipo restituito

str,

reply_to_session_id

Identificatore di sessione che aumenta l'indirizzo di reply_to .

Questo valore aumenta le informazioni di reply_to e specifica quale ID sessione deve essere impostato per la risposta quando viene inviata all'entità di risposta.

Vedere Routing e correlazione dei messaggi in https://docs.microsoft.com/azure/service-bus-messaging/service-bus-messages-payloads?#message-routing-and-correlation.

Tipo restituito

str,

scheduled_enqueue_time_utc

Ora dell'ora utc pianificata al messaggio.

Questa proprietà può essere usata per la pianificazione durante l'invio di un messaggio tramite il metodo ServiceBusSender.send . Se è necessario annullare i messaggi pianificati, è necessario usare il metodo ServiceBusSender.schedule, che restituisce i numeri di sequenza che possono essere usati per l'annullamento futuro. scheduled_enqueue_time_utc non è impostato.

Tipo restituito

session_id

Identificatore di sessione del messaggio per un'entità con sessione.

Per le entità con sessione, questo valore definito dall'applicazione specifica l'affiliazione di sessione del messaggio. I messaggi con lo stesso identificatore di sessione sono soggetti al blocco di riepilogo e consentono l'elaborazione esatta in ordine e il demultiplexing. Per le entità non sessione, questo valore viene ignorato.

Vedere Sessioni di messaggio in https://docs.microsoft.com/azure/service-bus-messaging/message-sessions.

Tipo restituito

str,

subject

Oggetto specifico dell'applicazione, talvolta definito etichetta.

Questa proprietà consente all'applicazione di indicare la finalità del messaggio al ricevitore in modo standardizzato, analogamente alla riga dell'oggetto del messaggio di posta elettronica.

Tipo restituito

str

time_to_live

Durata di un messaggio.

Questo valore è la durata relativa dopo la quale il messaggio scade, a partire dall'istante in cui il messaggio è stato accettato e archiviato dal broker, come acquisito in enqueued_time_utc. Se non è configurata in modo esplicito, il valore predefinito è il DefaultTimeToLive per la coda o l'argomento corrispondente. Un valore tempo-live a livello di messaggio non può essere più lungo dell'impostazione time-to-live dell'entità e viene modificata in modo invisibile se lo fa.

Vedere Scadenza in https://docs.microsoft.com/azure/service-bus-messaging/message-expiration

Tipo restituito

to

Oggetto da indirizzare .

Questa proprietà è riservata per l'uso futuro negli scenari di routing e viene attualmente ignorata dal broker. Le applicazioni possono usare questo valore in scenari di concatenamento con inoltro automatico basato su regole, per indicare la destinazione logica prevista per il messaggio.

Per informazioni dettagliate, vedere https://docs.microsoft.com/azure/service-bus-messaging/service-bus-auto-forwarding.

Tipo restituito

str,