SubscriptionEventHandlers interface

Antarmuka yang menjelaskan fungsi yang akan diimplementasikan oleh pengguna yang dipanggil oleh EventHubConsumerClient ketika subscribe() metode dipanggil untuk menerima peristiwa dari Event Hub.

Properti

processClose

Fungsi yang dipanggil oleh EventHubConsumerClient setiap kali langganan berhenti membaca peristiwa dari partisi. Informasi tentang partisi ini akan tersedia pada yang PartitionContext diteruskan ke fungsi processClose.

Jika yang CloseReason diteruskan ke fungsi ini adalah OwnershipLost, maka langganan lain telah mengambil alih pembacaan dari partisi yang sama menggunakan grup konsumen yang sama. Ini diharapkan jika Anda memiliki beberapa instans aplikasi Anda yang berjalan dan telah meneruskan CheckpointStore ke klien untuk memuat keseimbangan.

CloseReason Jika adalah Shutdown, ini menunjukkan bahwa subscription.close() dipanggil, atau terjadi kesalahan. Kecuali langganan ditutup secara eksplisit melalui subscription.close(), langganan akan mencoba melanjutkan membaca peristiwa dari titik pemeriksaan terakhir untuk partisi.

processError

Fungsi yang dipanggil oleh EventHubConsumerClient untuk kesalahan yang terjadi saat menerima peristiwa atau saat menjalankan salah satu fungsi yang disediakan pengguna diteruskan ke subscribe() metode .

Yang PartitionContext diteruskan ke fungsi ini akan menunjukkan partisi yang sedang diproses ketika kesalahan dilemparkan. Dalam kasus di mana kesalahan dilemparkan di luar pemrosesan peristiwa dari partisi (misalnya kegagalan untuk melakukan penyeimbangan beban), partitionId pada konteks akan menjadi string kosong.

Setelah klien selesai menjalankan fungsi ini, partitionClose fungsi dipanggil.

processEvents

Fungsi yang dipanggil oleh EventHubConsumerClient ketika sekumpulan peristiwa diterima. Yang PartitionContext diteruskan ke fungsi ini dapat digunakan untuk menentukan partisi mana yang sedang dibaca.

Metode updateCheckpoint() pada konteks dapat digunakan untuk memperbarui titik pemeriksaan di CheckpointStore (jika ada yang diberikan kepada klien). Gunakan ini dalam interval yang sering untuk menandai peristiwa yang telah diproses sehingga klien dapat memulai ulang dari titik pemeriksaan tersebut jika terjadi mulai ulang atau pemulihan kesalahan.

Catatan: Dimungkinkan bagi peristiwa yang diterima menjadi array kosong. Ini dapat terjadi jika tidak ada peristiwa baru untuk diterima di maxWaitTimeInSeconds, yang defaultnya adalah 60 detik. maxWaitTimeInSeconds dapat diubah dengan mengaturnya di diteruskan options ke subscribe().

processInitialize

Fungsi yang dipanggil oleh EventHubConsumerClient setiap kali langganan akan mulai membaca dari partisi. Yang PartitionContext diteruskan ke fungsi ini dapat digunakan untuk menentukan partisi mana yang akan dibaca.

Klien akan mulai menerima peristiwa untuk partisi hanya setelah menyelesaikan eksekusi fungsi ini (jika disediakan). Oleh karena itu, gunakan fungsi ini untuk melakukan pekerjaan penyiapan apa pun termasuk tugas asinkron.

Detail Properti

processClose

Fungsi yang dipanggil oleh EventHubConsumerClient setiap kali langganan berhenti membaca peristiwa dari partisi. Informasi tentang partisi ini akan tersedia pada yang PartitionContext diteruskan ke fungsi processClose.

Jika yang CloseReason diteruskan ke fungsi ini adalah OwnershipLost, maka langganan lain telah mengambil alih pembacaan dari partisi yang sama menggunakan grup konsumen yang sama. Ini diharapkan jika Anda memiliki beberapa instans aplikasi Anda yang berjalan dan telah meneruskan CheckpointStore ke klien untuk memuat keseimbangan.

CloseReason Jika adalah Shutdown, ini menunjukkan bahwa subscription.close() dipanggil, atau terjadi kesalahan. Kecuali langganan ditutup secara eksplisit melalui subscription.close(), langganan akan mencoba melanjutkan membaca peristiwa dari titik pemeriksaan terakhir untuk partisi.

processClose?: ProcessCloseHandler

Nilai Properti

processError

Fungsi yang dipanggil oleh EventHubConsumerClient untuk kesalahan yang terjadi saat menerima peristiwa atau saat menjalankan salah satu fungsi yang disediakan pengguna diteruskan ke subscribe() metode .

Yang PartitionContext diteruskan ke fungsi ini akan menunjukkan partisi yang sedang diproses ketika kesalahan dilemparkan. Dalam kasus di mana kesalahan dilemparkan di luar pemrosesan peristiwa dari partisi (misalnya kegagalan untuk melakukan penyeimbangan beban), partitionId pada konteks akan menjadi string kosong.

Setelah klien selesai menjalankan fungsi ini, partitionClose fungsi dipanggil.

processError: ProcessErrorHandler

Nilai Properti

processEvents

Fungsi yang dipanggil oleh EventHubConsumerClient ketika sekumpulan peristiwa diterima. Yang PartitionContext diteruskan ke fungsi ini dapat digunakan untuk menentukan partisi mana yang sedang dibaca.

Metode updateCheckpoint() pada konteks dapat digunakan untuk memperbarui titik pemeriksaan di CheckpointStore (jika ada yang diberikan kepada klien). Gunakan ini dalam interval yang sering untuk menandai peristiwa yang telah diproses sehingga klien dapat memulai ulang dari titik pemeriksaan tersebut jika terjadi mulai ulang atau pemulihan kesalahan.

Catatan: Dimungkinkan bagi peristiwa yang diterima menjadi array kosong. Ini dapat terjadi jika tidak ada peristiwa baru untuk diterima di maxWaitTimeInSeconds, yang defaultnya adalah 60 detik. maxWaitTimeInSeconds dapat diubah dengan mengaturnya di diteruskan options ke subscribe().

processEvents: ProcessEventsHandler

Nilai Properti

processInitialize

Fungsi yang dipanggil oleh EventHubConsumerClient setiap kali langganan akan mulai membaca dari partisi. Yang PartitionContext diteruskan ke fungsi ini dapat digunakan untuk menentukan partisi mana yang akan dibaca.

Klien akan mulai menerima peristiwa untuk partisi hanya setelah menyelesaikan eksekusi fungsi ini (jika disediakan). Oleh karena itu, gunakan fungsi ini untuk melakukan pekerjaan penyiapan apa pun termasuk tugas asinkron.

processInitialize?: ProcessInitializeHandler

Nilai Properti