ServiceBusSession クラス
ServiceBusSession は、セッション状態の管理とロックの更新に使用されます。
ServiceBusSession オブジェクトを直接インスタンス化する代わりに、ServiceBusReceiver の プロパティ session
を使用して、受信側にリンクされている対応する ServiceBusSession オブジェクトを取得してください。
- 継承
-
azure.servicebus._servicebus_session.BaseSessionServiceBusSession
コンストラクター
ServiceBusSession(session_id: str, receiver: ServiceBusReceiver | ServiceBusReceiverAsync)
パラメーター
- session_id
- receiver
例
レシーバーからセッションを取得する
async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
session = receiver.session
メソッド
get_state |
セッションの状態を取得します。 状態が設定されていない場合は None を返します。 |
renew_lock |
セッション ロックを更新します。 この操作は、メッセージ処理を続行するためにセッションのロックを保持するために定期的に実行する必要があります。 ロックが失われると、接続は閉じられます。期限切れのロックを更新できません。 この操作は、 セッションを azure.servicebus.aio.AutoLockRenewer インスタンスに登録することで、スレッド化されたバックグラウンド タスクとして実行することもできます。 |
set_state |
セッションの状態を設定します。 |
get_state
セッションの状態を取得します。
状態が設定されていない場合は None を返します。
async get_state(*, timeout: float | None = None, **kwargs: Any) -> bytes
パラメーター
すべての再試行を含む合計操作タイムアウト (秒単位)。 指定する場合、値は 0 より大きくする必要があります。 既定値は None で、タイムアウトがないことを意味します。
戻り値
セッションの状態。
の戻り値の型 :
例
セッション状態を取得する
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
セッション ロックを更新します。
この操作は、メッセージ処理を続行するためにセッションのロックを保持するために定期的に実行する必要があります。
ロックが失われると、接続は閉じられます。期限切れのロックを更新できません。
この操作は、 セッションを azure.servicebus.aio.AutoLockRenewer インスタンスに登録することで、スレッド化されたバックグラウンド タスクとして実行することもできます。
async renew_lock(*, timeout: float | None = None, **kwargs: Any) -> datetime
パラメーター
すべての再試行を含む合計操作タイムアウト (秒単位)。 指定する場合、値は 0 より大きくする必要があります。 既定値は None で、タイムアウトがないことを意味します。
戻り値
ロックの有効期限が切れる utc datetime。
の戻り値の型 :
例
有効期限が切れる前にセッション ロックを更新する
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
セッションの状態を設定します。
async set_state(state: str | bytes | bytearray | None, *, timeout: float | None = None, **kwargs: Any) -> None
パラメーター
すべての再試行を含む合計操作タイムアウト (秒単位)。 指定する場合、値は 0 より大きくする必要があります。 既定値は None で、タイムアウトがないことを意味します。
戻り値
コールバックの応答
の戻り値の型 :
例
セッションの状態を設定する
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")
属性
locked_until_utc
session_id
Azure SDK for Python