ServiceBusSession Kelas
ServiceBusSession digunakan untuk mengelola status sesi dan perpanjangan kunci.
Silakan gunakan properti session
pada ServiceBusReceiver untuk mendapatkan objek ServiceBusSession yang sesuai yang ditautkan dengan penerima alih-alih membuat instans objek ServiceBusSession secara langsung.
- Warisan
-
azure.servicebus._servicebus_session.BaseSessionServiceBusSession
Konstruktor
ServiceBusSession(session_id: str, receiver: ServiceBusReceiver | ServiceBusReceiverAsync)
Parameter
- session_id
- receiver
Contoh
Mendapatkan sesi dari penerima
async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
session = receiver.session
Metode
get_state |
Dapatkan status sesi. Mengembalikan Tidak Ada jika tidak ada status yang ditetapkan. |
renew_lock |
Perbarui kunci sesi. Operasi ini harus dilakukan secara berkala untuk mempertahankan kunci pada sesi untuk melanjutkan pemrosesan pesan. Setelah kunci hilang, koneksi akan ditutup; kunci kedaluwarsa tidak dapat diperpanjang. Operasi ini juga dapat dilakukan sebagai tugas latar belakang utas dengan mendaftarkan sesi dengan instans azure.servicebus.aio.AutoLockRenewer . |
set_state |
Atur status sesi. |
get_state
Dapatkan status sesi.
Mengembalikan Tidak Ada jika tidak ada status yang ditetapkan.
async get_state(*, timeout: float | None = None, **kwargs: Any) -> bytes
Parameter
Total batas waktu operasi dalam detik termasuk semua percobaan ulang. Nilai harus lebih besar dari 0 jika ditentukan. Nilai defaultnya adalah Tidak Ada, yang berarti tidak ada batas waktu.
Mengembalikan
Status sesi.
Tipe hasil
Contoh
Mendapatkan status sesi
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
Perbarui kunci sesi.
Operasi ini harus dilakukan secara berkala untuk mempertahankan kunci pada sesi untuk melanjutkan pemrosesan pesan.
Setelah kunci hilang, koneksi akan ditutup; kunci kedaluwarsa tidak dapat diperpanjang.
Operasi ini juga dapat dilakukan sebagai tugas latar belakang utas dengan mendaftarkan sesi dengan instans azure.servicebus.aio.AutoLockRenewer .
async renew_lock(*, timeout: float | None = None, **kwargs: Any) -> datetime
Parameter
Total batas waktu operasi dalam detik termasuk semua percobaan ulang. Nilai harus lebih besar dari 0 jika ditentukan. Nilai defaultnya adalah Tidak Ada, yang berarti tidak ada batas waktu.
Mengembalikan
Tanggalwaktu utc kunci diatur untuk kedaluwarsa pada.
Tipe hasil
Contoh
Perpanjang kunci sesi sebelum kedaluwarsa
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
Atur status sesi.
async set_state(state: str | bytes | bytearray | None, *, timeout: float | None = None, **kwargs: Any) -> None
Parameter
Total batas waktu operasi dalam detik termasuk semua percobaan ulang. Nilai harus lebih besar dari 0 jika ditentukan. Nilai defaultnya adalah Tidak Ada, yang berarti tidak ada batas waktu.
Mengembalikan
Respons panggilan balik
Tipe hasil
Contoh
Mengatur status sesi
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")
Atribut
locked_until_utc
session_id
Azure SDK for Python