Partager via


ServiceBusSession Classe

ServiceBusSession est utilisé pour gérer les états de session et le renouvellement des verrous.

Utilisez la propriété session sur le ServiceBusReceiver pour obtenir l’objet ServiceBusSession correspondant lié au récepteur au lieu d’instancier un objet ServiceBusSession directement.

Héritage
azure.servicebus._servicebus_session.BaseSession
ServiceBusSession

Constructeur

ServiceBusSession(session_id: str, receiver: ServiceBusReceiver | ServiceBusReceiverAsync)

Paramètres

session_id
receiver

Exemples

Obtenir une session à partir d’un récepteur


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session

Méthodes

get_state

Obtenez l’état de session.

Retourne Aucun si aucun état n’a été défini.

renew_lock

Renouvelez le verrou de session.

Cette opération doit être effectuée régulièrement afin de conserver un verrou sur la session afin de poursuivre le traitement des messages.

Une fois le verrou perdu, la connexion est fermée ; un verrou expiré ne peut pas être renouvelé.

Cette opération peut également être effectuée en tant que tâche en arrière-plan thread en inscrivant la session auprès d’un instance azure.servicebus.aio.AutoLockRenewer.

set_state

Définissez l’état de la session.

get_state

Obtenez l’état de session.

Retourne Aucun si aucun état n’a été défini.

async get_state(*, timeout: float | None = None, **kwargs: Any) -> bytes

Paramètres

timeout
Optional[float]

Délai d’expiration total de l’opération en secondes, y compris toutes les nouvelles tentatives. La valeur doit être supérieure à 0 si elle est spécifiée. La valeur par défaut est None, c’est-à-dire aucun délai d’attente.

Retours

État de session.

Type de retour

Exemples

Obtenir l’état de session


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session
           session_state = await session.get_state()

renew_lock

Renouvelez le verrou de session.

Cette opération doit être effectuée régulièrement afin de conserver un verrou sur la session afin de poursuivre le traitement des messages.

Une fois le verrou perdu, la connexion est fermée ; un verrou expiré ne peut pas être renouvelé.

Cette opération peut également être effectuée en tant que tâche en arrière-plan thread en inscrivant la session auprès d’un instance azure.servicebus.aio.AutoLockRenewer.

async renew_lock(*, timeout: float | None = None, **kwargs: Any) -> datetime

Paramètres

timeout
Optional[float]

Délai d’expiration total de l’opération en secondes, y compris toutes les nouvelles tentatives. La valeur doit être supérieure à 0 si elle est spécifiée. La valeur par défaut est None, c’est-à-dire aucun délai d’attente.

Retours

Dateheure utc à laquelle le verrou est défini pour expirer.

Type de retour

Exemples

Renouveler le verrou de session avant son expiration


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session
           await session.renew_lock()

set_state

Définissez l’état de la session.

async set_state(state: str | bytes | bytearray | None, *, timeout: float | None = None, **kwargs: Any) -> None

Paramètres

state
str ou bytes ou bytearray ou None
Obligatoire

Valeur d’état.

timeout
float ou None

Délai d’expiration total de l’opération en secondes, y compris toutes les nouvelles tentatives. La valeur doit être supérieure à 0 si elle est spécifiée. La valeur par défaut est None, c’est-à-dire aucun délai d’attente.

Retours

Réponse de rappel

Type de retour

any

Exemples

Définir l’état de la session


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session
           await session.set_state("START")

Attributs

locked_until_utc

Heure à laquelle le verrou de cette session expire.

Type de retour

session_id

ID de session de la session active.

Type de retour

str