ServiceBusSender Kelas
Kelas ServiceBusSender menentukan antarmuka tingkat tinggi untuk mengirim pesan ke Antrean atau Topik Azure Service Bus.
Silakan gunakan get_<queue/topic>_sender
metode ~azure.servicebus.ServiceBusClient untuk membuat instans ServiceBusSender.
- Warisan
-
azure.servicebus._base_handler.BaseHandlerServiceBusSenderazure.servicebus._servicebus_sender.SenderMixinServiceBusSender
Konstruktor
ServiceBusSender(fully_qualified_namespace: str, credential: TokenCredential | AzureSasCredential | AzureNamedKeyCredential, *, queue_name: str | None = None, topic_name: str | None = None, **kwargs: Any)
Parameter
- fully_qualified_namespace
- str
Nama host yang sepenuhnya memenuhi syarat untuk namespace Bus Layanan. Format namespace adalah: .servicebus.windows.net.
- credential
- TokenCredential atau AzureSasCredential atau AzureNamedKeyCredential
Objek kredensial yang digunakan untuk autentikasi yang mengimplementasikan antarmuka tertentu untuk mendapatkan token. Ini menerima objek kredensial yang dihasilkan oleh pustaka identitas azure dan objek yang mengimplementasikan metode *get_token (mandiri, cakupan), atau sebagai alternatif, AzureSasCredential juga dapat disediakan.
- queue_name
- str
Jalur Antrean Bus Layanan tertentu yang disambungkan klien.
- topic_name
- str
Jalur Topik Bus Layanan tertentu yang disambungkan klien.
- logging_enable
- bool
Apakah akan mengeluarkan log jejak jaringan ke pencatat. Defaultnya adalah False.
- transport_type
- TransportType
Jenis protokol transportasi yang akan digunakan untuk berkomunikasi dengan layanan Bus Layanan. Defaultnya adalah TransportType.Amqp.
- http_proxy
- Dict
Pengaturan proksi HTTP. Ini harus berupa kamus dengan kunci berikut: 'proxy_hostname' (nilai str) dan 'proxy_port' (nilai int). Selain itu, kunci berikut mungkin juga ada: 'nama pengguna', 'kata sandi'.
- user_agent
- str
Jika ditentukan, ini akan ditambahkan di depan string agen pengguna bawaan.
- client_identifier
- str
Pengidentifikasi berbasis string untuk mengidentifikasi instans klien secara unik. Azure Service Bus akan mengaitkannya dengan beberapa pesan kesalahan untuk korelasi kesalahan yang lebih mudah. Jika tidak ditentukan, id unik akan dibuat.
- socket_timeout
- float
Waktu dalam detik bahwa soket yang mendasar pada koneksi harus menunggu saat mengirim dan menerima data sebelum waktu habis. Nilai defaultnya adalah 0,2 untuk TransportType.Amqp dan 1 untuk TransportType.AmqpOverWebsocket. Jika kesalahan koneksi terjadi karena waktu tulis habis, nilai yang lebih besar dari default mungkin perlu diteruskan.
Variabel
- fully_qualified_namespace
- str
Nama host yang sepenuhnya memenuhi syarat untuk namespace Bus Layanan. Format namespace adalah: .servicebus.windows.net.
- entity_name
- str
Nama entitas yang disambungkan klien.
Metode
cancel_scheduled_messages |
Batalkan satu atau beberapa pesan yang sebelumnya telah dijadwalkan dan masih tertunda. |
close |
Tutup tautan handler (dan koneksi jika handler menggunakan koneksi terpisah). Jika handler telah ditutup, operasi ini tidak akan melakukan apa-apa. |
create_message_batch |
Buat objek ServiceBusMessageBatch dengan ukuran maksimum semua konten yang dibatasi oleh max_size_in_bytes. max_size tidak boleh lebih besar dari ukuran pesan maksimum yang diizinkan yang ditentukan oleh layanan. |
schedule_messages |
Kirim Pesan atau beberapa Pesan untuk diantrekan pada waktu tertentu. Mengembalikan daftar nomor urut pesan yang diantrekan. |
send_messages |
Mengirim pesan dan blok hingga pengakuan diterima atau waktu operasi habis. Jika daftar pesan disediakan, upaya untuk mengirimnya sebagai satu batch, melemparkan ValueError jika tidak dapat dimuat dalam satu batch. |
cancel_scheduled_messages
Batalkan satu atau beberapa pesan yang sebelumnya telah dijadwalkan dan masih tertunda.
cancel_scheduled_messages(sequence_numbers: int | List[int], *, timeout: float | None = None, **kwargs: Any) -> None
Parameter
- timeout
- float
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.
Tipe hasil
Pengecualian
Contoh
Membatalkan pesan yang dijadwalkan untuk dikirim di masa mendatang
with servicebus_sender:
servicebus_sender.cancel_scheduled_messages(sequence_nums)
close
Tutup tautan handler (dan koneksi jika handler menggunakan koneksi terpisah).
Jika handler telah ditutup, operasi ini tidak akan melakukan apa-apa.
close() -> None
Tipe hasil
Pengecualian
create_message_batch
Buat objek ServiceBusMessageBatch dengan ukuran maksimum semua konten yang dibatasi oleh max_size_in_bytes. max_size tidak boleh lebih besar dari ukuran pesan maksimum yang diizinkan yang ditentukan oleh layanan.
create_message_batch(max_size_in_bytes: int | None = None) -> ServiceBusMessageBatch
Parameter
Ukuran maksimum data byte yang dapat disimpan objek ServiceBusMessageBatch. Secara default, nilai ditentukan oleh tingkat Azure Service Bus Anda.
Mengembalikan
Objek ServiceBusMessageBatch
Tipe hasil
Pengecualian
Contoh
Membuat objek ServiceBusMessageBatch dalam ukuran terbatas
with servicebus_sender:
batch_message = servicebus_sender.create_message_batch()
batch_message.add_message(ServiceBusMessage("Single message inside batch"))
schedule_messages
Kirim Pesan atau beberapa Pesan untuk diantrekan pada waktu tertentu. Mengembalikan daftar nomor urut pesan yang diantrekan.
schedule_messages(messages: MessageTypes, schedule_time_utc: datetime, *, timeout: float | None = None, **kwargs: Any) -> List[int]
Parameter
- messages
- Union[ServiceBusMessage, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Pesan atau daftar pesan yang akan dijadwalkan.
- timeout
- float
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
Daftar nomor urut pesan yang diantrekan.
Tipe hasil
Pengecualian
Contoh
Menjadwalkan pesan yang akan dikirim di masa mendatang
with servicebus_sender:
scheduled_time_utc = datetime.datetime.utcnow() + datetime.timedelta(seconds=30)
scheduled_messages = [ServiceBusMessage("Scheduled message") for _ in range(10)]
sequence_nums = servicebus_sender.schedule_messages(scheduled_messages, scheduled_time_utc)
send_messages
Mengirim pesan dan blok hingga pengakuan diterima atau waktu operasi habis.
Jika daftar pesan disediakan, upaya untuk mengirimnya sebagai satu batch, melemparkan ValueError jika tidak dapat dimuat dalam satu batch.
send_messages(message: MessageTypes | ServiceBusMessageBatch, *, timeout: float | None = None, **kwargs: Any) -> None
Parameter
- message
- Union[ServiceBusMessage, ServiceBusMessageBatch, AmqpAnnotatedMessage, List[Union[ServiceBusMessage, AmqpAnnotatedMessage]]]
Pesan ServiceBus yang akan dikirim.
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.
Tipe hasil
Pengecualian
Contoh
Kirim pesan.
with servicebus_sender:
message_send = ServiceBusMessage("Hello World")
servicebus_sender.send_messages(message_send)
Atribut
client_identifier
Azure SDK for Python
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk