@azure/event-hubs package

Kelas

EventHubBufferedProducerClient

EventHubBufferedProducerClientdigunakan untuk menerbitkan peristiwa ke Event Hub tertentu.

EventHubBufferedProducerClient tidak segera menerbitkan peristiwa. Sebaliknya, peristiwa di-buffer sehingga dapat di-batch dan diterbitkan secara efisien ketika batch penuh atau maxWaitTimeInMs telah berlalu tanpa peristiwa baru yang diantrekan.

Bergantung pada opsi yang ditentukan ketika peristiwa diantrekan, mereka dapat secara otomatis ditetapkan ke partisi, dikelompokkan sesuai dengan kunci partisi yang ditentukan, atau menetapkan partisi yang diminta secara khusus.

Model ini dimaksudkan untuk mengalihkan beban manajemen batch dari penelepon, dengan biaya waktu non-deterministik, untuk kapan peristiwa akan diterbitkan. Ada trade-off tambahan yang perlu dipertimbangkan, juga:

  • Jika aplikasi mengalami crash, peristiwa di buffer tidak akan diterbitkan. Untuk mencegah kehilangan data, penelepon didorong untuk melacak kemajuan penerbitan menggunakan penangan onSendEventsSuccessHandler dan onSendEventsErrorHandler.
  • Peristiwa yang menentukan kunci partisi dapat diberi partisi yang berbeda dari yang menggunakan kunci yang sama dengan produsen lain.
  • Jika partisi menjadi tidak tersedia untuk sementara waktu, EventHubBufferedProducerClient mungkin membutuhkan waktu lebih lama untuk pulih daripada produsen lain.

Dalam skenario di mana penting untuk memiliki peristiwa yang segera diterbitkan dengan hasil deterministik, pastikan bahwa kunci partisi ditetapkan ke partisi yang konsisten dengan penerbit lain, atau di mana memaksimalkan ketersediaan adalah persyaratan, menggunakan EventHubProducerClient direkomendasikan.

EventHubConsumerClient

Kelas EventHubConsumerClient digunakan untuk mengonsumsi peristiwa dari Pusat Aktivitas.

Ada beberapa cara untuk membuat EventHubConsumerClient

  • Gunakan string koneksi dari kebijakan SAS yang dibuat untuk instans Event Hub Anda.
  • Gunakan string koneksi dari kebijakan SAS yang dibuat untuk namespace Layanan Pusat Aktivitas Anda, dan nama instans Pusat Aktivitas
  • Gunakan namespace lengkap seperti <yournamespace>.servicebus.windows.net, dan objek kredensial.

Secara opsional, Anda juga dapat meneruskan:

  • Tas opsi untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.
  • Penyimpanan titik pemeriksaan yang digunakan oleh klien untuk membaca titik pemeriksaan untuk menentukan posisi dari mana ia harus melanjutkan menerima peristiwa saat aplikasi Anda dimulai ulang. Penyimpanan titik pemeriksaan juga digunakan oleh klien untuk menyeimbangkan beban beberapa instans aplikasi Anda.
EventHubProducerClient

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas.

Ada beberapa cara untuk membuat EventHubProducerClient

  • Gunakan string koneksi dari kebijakan SAS yang dibuat untuk instans Event Hub Anda.
  • Gunakan string koneksi dari kebijakan SAS yang dibuat untuk namespace Layanan Pusat Aktivitas Anda, dan nama instans Pusat Aktivitas
  • Gunakan namespace lengkap seperti <yournamespace>.servicebus.windows.net, dan objek kredensial.

Secara opsional, Anda juga dapat meneruskan tas opsi untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

MessagingError

Menjelaskan kelas dasar untuk Kesalahan Olahpesan.

Antarmuka

BufferedCloseOptions

Opsi untuk mengonfigurasi metode close pada EventHubBufferedProducerClient.

BufferedFlushOptions

Opsi untuk mengonfigurasi metode flush pada EventHubBufferedProducerClient.

Checkpoint

Titik pemeriksaan dimaksudkan untuk mewakili peristiwa terakhir yang berhasil diproses oleh pengguna dari partisi tertentu dari grup konsumen dalam instans Pusat Aktivitas.

Ketika metode updateCheckpoint() pada kelas PartitionProcessor dipanggil oleh pengguna, Checkpoint dibuat secara internal. Kemudian disimpan dalam solusi penyimpanan yang diterapkan oleh CheckpointManager yang dipilih oleh pengguna saat membuat EventProcessor.

Pengguna tidak pernah diharapkan untuk berinteraksi dengan Checkpoint secara langsung. Antarmuka ini ada untuk mendukung pekerjaan internal EventProcessor dan CheckpointManager.

CheckpointStore

Penyimpanan titik pemeriksaan menyimpan dan mengambil informasi kepemilikan partisi dan detail titik pemeriksaan untuk setiap partisi dalam grup konsumen tertentu dari instans pusat aktivitas.

Pengguna tidak dimaksudkan untuk menerapkan CheckpointStore. Pengguna diharapkan untuk memilih implementasi antarmuka ini yang ada, membuat instansnya, dan meneruskannya ke konstruktor kelas EventHubConsumerClient saat membuat instans klien. Pengguna tidak diharapkan menggunakan salah satu metode di penyimpanan titik pemeriksaan, ini digunakan secara internal oleh klien.

Implementasi CheckpointStore dapat ditemukan di npm dengan mencari paket dengan awalan @azure/eventhub-checkpointstore-.

CreateBatchOptions

Opsi untuk mengonfigurasi metode createBatch pada EventHubProducerClient.

  • partitionKey : Nilai yang di-hash untuk menghasilkan penugasan partisi.
  • maxSizeInBytes: Batas atas untuk ukuran batch.
  • abortSignal : Sinyal permintaan untuk membatalkan operasi pengiriman.

Contoh penggunaan:

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

Opsi untuk mengonfigurasi metode enqueueEvents pada EventHubBufferedProducerClient.

EventData

Antarmuka yang menjelaskan data yang akan dikirim ke Azure Event Hub. Gunakan ini sebagai referensi saat membuat objek yang akan dikirim saat menggunakan EventHubProducerClient. Misalnya, { body: "your-data" } atau

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

Parameter ke fungsi createEventDataAdapter yang membuat adaptor data peristiwa.

EventDataBatch

Antarmuka yang mewakili batch peristiwa yang dapat digunakan untuk mengirim peristiwa ke Event Hub.

Untuk membuat batch, gunakan metode createBatch() pada EventHubProducerClient. Untuk mengirim batch, gunakan metode sendBatch() pada klien yang sama. Untuk mengisi batch, gunakan metode tryAdd() pada batch itu sendiri.

EventHubBufferedProducerClientOptions

Menjelaskan opsi yang dapat disediakan saat membuat EventHubBufferedProducerClient.

EventHubClientOptions

Menjelaskan opsi yang dapat disediakan saat membuat EventHubClient.

  • userAgent : String untuk ditambahkan ke string agen pengguna bawaan yang diteruskan sebagai properti koneksi ke layanan.
  • webSocketOptions : Opsi untuk mengonfigurasi saluran koneksi AMQP melalui Soket Web.
    • websocket : Konstruktor WebSocket yang digunakan untuk membuat koneksi AMQP jika Anda memilih untuk membuat koneksi melalui WebSocket.
    • webSocketConstructorOptions : Opsi untuk meneruskan ke konstruktor Websocket saat Anda memilih untuk membuat koneksi melalui WebSocket.
  • retryOptions : Opsi coba lagi untuk semua operasi pada klien/produsen/konsumen.
    • maxRetries : Berapa kali operasi dapat dicoba kembali jika terjadi kesalahan yang dapat dicoba kembali.
    • maxRetryDelayInMs: Penundaan maksimum antara percobaan ulang. Hanya berlaku saat melakukan percobaan ulang eksponensial.
    • mode: Mode coba lagi mana yang akan diterapkan, ditentukan oleh enum RetryMode. Opsinya Exponential dan Fixed. Default ke Fixed.
    • retryDelayInMs: Jumlah waktu untuk menunggu dalam milidetik sebelum melakukan upaya berikutnya. Ketika mode diatur ke Exponential, ini digunakan untuk menghitung penundaan yang meningkat secara eksponensial antara percobaan ulang. Default: 30000 milidetik.
    • timeoutInMs: Jumlah waktu dalam milidetik untuk menunggu sebelum waktu operasi habis. Ini akan memicu percobaan kembali jika ada upaya coba lagi yang tersisa. Nilai default: 60000 milidetik.

Penggunaan sederhana dapat { "maxRetries": 4 }.

Contoh penggunaan:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

Kumpulan properti yang terdiri dari string koneksi Pusat Aktivitas.

EventHubConsumerClientOptions

Menjelaskan opsi yang dapat disediakan saat membuat EventHubConsumerClient.

  • loadBalancingOptions: Opsi untuk menyetel bagaimana partisi klaim EventHubConsumerClient.
  • userAgent : String untuk ditambahkan ke string agen pengguna bawaan yang diteruskan sebagai properti koneksi ke layanan.
  • webSocketOptions : Opsi untuk mengonfigurasi saluran koneksi AMQP melalui Soket Web.
    • websocket : Konstruktor WebSocket yang digunakan untuk membuat koneksi AMQP jika Anda memilih untuk membuat koneksi melalui WebSocket.
    • webSocketConstructorOptions : Opsi untuk meneruskan ke konstruktor Websocket saat Anda memilih untuk membuat koneksi melalui WebSocket.
  • retryOptions : Opsi coba lagi untuk semua operasi pada klien/produsen/konsumen.
    • maxRetries : Berapa kali operasi dapat dicoba kembali jika terjadi kesalahan yang dapat dicoba kembali.
    • maxRetryDelayInMs: Penundaan maksimum antara percobaan ulang. Hanya berlaku saat melakukan percobaan ulang eksponensial.
    • mode: Mode coba lagi mana yang akan diterapkan, ditentukan oleh enum RetryMode. Opsinya Exponential dan Fixed. Default ke Fixed.
    • retryDelayInMs: Jumlah waktu untuk menunggu dalam milidetik sebelum melakukan upaya berikutnya. Ketika mode diatur ke Exponential, ini digunakan untuk menghitung penundaan yang meningkat secara eksponensial antara percobaan ulang. Default: 30000 milidetik.
    • timeoutInMs: Jumlah waktu dalam milidetik untuk menunggu sebelum waktu operasi habis. Ini akan memicu percobaan kembali jika ada upaya coba lagi yang tersisa. Nilai default: 60000 milidetik.

Penggunaan sederhana dapat { "maxRetries": 4 }.

Contoh penggunaan:

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

Menjelaskan informasi runtime dari Pusat Aktivitas.

EventPosition

Mewakili posisi peristiwa dalam partisi Pusat Aktivitas, biasanya digunakan saat memanggil metode subscribe() pada EventHubConsumerClient untuk menentukan posisi dalam partisi untuk mulai menerima peristiwa.

Untuk mendapatkan EventPosition yang mewakili awal atau akhir aliran, gunakan konstanta earliestEventPosition dan latestEventPosition masing-masing.

GetEventHubPropertiesOptions

Kumpulan opsi untuk mengonfigurasi perilaku getEventHubProperties.

  • abortSignal : Implementasi antarmuka AbortSignalLike untuk memberi sinyal permintaan untuk membatalkan operasi.
  • parentSpan : Span atau SpanContext untuk digunakan sebagai parent rentang yang dibuat saat memanggil operasi ini.
GetPartitionIdsOptions

Kumpulan opsi untuk mengonfigurasi perilaku getPartitionIds.

  • abortSignal : Implementasi antarmuka AbortSignalLike untuk memberi sinyal permintaan untuk membatalkan operasi.
  • parentSpan : Span atau SpanContext untuk digunakan sebagai parent rentang yang dibuat saat memanggil operasi ini.
GetPartitionPropertiesOptions

Kumpulan opsi untuk mengonfigurasi perilaku getPartitionProperties.

  • abortSignal : Implementasi antarmuka AbortSignalLike untuk memberi sinyal permintaan untuk membatalkan operasi.
  • parentSpan : Span atau SpanContext untuk digunakan sebagai parent rentang yang dibuat saat memanggil operasi ini.
LastEnqueuedEventProperties

Serangkaian informasi tentang peristiwa antrean terakhir dari partisi, seperti yang diamati oleh konsumen karena peristiwa diterima dari layanan Azure Event Hubs

LoadBalancingOptions

Tas opsi untuk mengonfigurasi pengaturan penyeimbangan beban.

OnSendEventsErrorContext

Berisi peristiwa yang tidak berhasil dikirim ke Pusat Aktivitas, partisi tempat mereka ditetapkan, dan kesalahan yang ditemui saat mengirim.

OnSendEventsSuccessContext

Berisi peristiwa yang berhasil dikirim ke Pusat Aktivitas, dan partisi tempat mereka ditetapkan.

OperationOptions

Opsi untuk mengonfigurasi pelacakan dan abortSignal.

PartitionContext

Antarmuka yang menjelaskan konteks yang diteruskan ke masing-masing fungsi yang merupakan bagian dari SubscriptionEventHandlers. Saat menerapkan salah satu fungsi ini, gunakan objek konteks untuk mendapatkan informasi tentang partisi serta kemampuan untuk titik pemeriksaan.

PartitionOwnership

Antarmuka yang mewakili detail instans EventProcessor memiliki pemrosesan partisi tertentu dari grup konsumen instans Pusat Aktivitas.

Note: Ini digunakan secara internal oleh EventProcessor dan pengguna tidak perlu membuatnya secara langsung.

PartitionProperties

Menjelaskan informasi runtime dari Partisi EventHub.

ReceivedEventData

Antarmuka yang menjelaskan struktur peristiwa yang diterima dari Event Hub. Gunakan ini sebagai referensi saat membuat fungsi processEvents untuk memproses peristiwa yang diterima dari Pusat Aktivitas saat menggunakan EventHubConsumerClient.

RetryOptions

Coba lagi opsi kebijakan yang menentukan mode, jumlah percobaan ulang, interval coba lagi, dll.

SendBatchOptions

Opsi untuk mengonfigurasi metode sendBatch pada EventHubProducerClient saat mengirim array peristiwa. Jika partitionId diatur, partitionKey tidak boleh diatur dan sebaliknya.

  • partitionId : Partisi tempat batch ini akan dikirim.
  • partitionKey : Nilai yang di-hash untuk menghasilkan penugasan partisi.
  • abortSignal : Sinyal yang digunakan untuk membatalkan operasi pengiriman.
SubscribeOptions

Opsi untuk mengonfigurasi metode subscribe pada EventHubConsumerClient. Misalnya, { maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

Antarmuka yang menjelaskan objek yang dikembalikan oleh metode subscribe() pada EventHubConsumerClient.

SubscriptionEventHandlers

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

TokenCredential

Mewakili kredensial yang mampu menyediakan token autentikasi.

TryAddOptions

Opsi untuk mengonfigurasi perilaku metode tryAdd pada kelas EventDataBatch.

WebSocketImpl

Menjelaskan bentuk konstruktor WebSocket yang diperlukan.

WebSocketOptions

Opsi untuk mengonfigurasi saluran koneksi AMQP melalui Soket Web.

Alias Jenis

ProcessCloseHandler

Tanda tangan fungsi yang disediakan pengguna yang dipanggil oleh EventHubConsumerClient tepat setelah berhenti menerima peristiwa dari partisi.

ProcessErrorHandler

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

ProcessEventsHandler

Tanda tangan fungsi yang disediakan pengguna yang dipanggil oleh EventHubConsumerClient saat serangkaian peristiwa diterima.

ProcessInitializeHandler

Tanda tangan fungsi yang disediakan pengguna yang dipanggil oleh EventHubConsumerClient tepat sebelum mulai menerima peristiwa dari partisi.

Enum

CloseReason

Enum yang mewakili berbagai alasan bagi EventHubConsumerClient untuk menghentikan pemrosesan peristiwa dari partisi dalam grup konsumen Pusat Aktivitas.

RetryMode

Menjelaskan jenis Mode Coba Lagi

Fungsi

createEventDataAdapter(EventDataAdapterParameters)

Fungsi yang membangun adaptor data peristiwa. Adaptor tersebut dapat digunakan dengan @azure/schema-registry-avro untuk mengodekan dan mendekode isi dalam data peristiwa.

parseEventHubConnectionString(string)

Mengurai string koneksi yang diberikan ke dalam berbagai properti yang berlaku untuk Azure Event Hubs. Properti ini berguna untuk kemudian membuat EventHubProducerClient atau EventHubConsumerClient.

Variabel

earliestEventPosition

Mendapatkan yang EventPosition sesuai dengan lokasi peristiwa pertama yang ada di partisi. Teruskan posisi ini ke EventHubConsumerClient.subscribe() metode untuk mulai menerima peristiwa dari peristiwa pertama di partisi yang belum kedaluwarsa karena kebijakan retensi.

latestEventPosition

Mendapatkan yang EventPosition sesuai dengan akhir partisi. Teruskan posisi ini ke EventHubConsumerClient.subscribe() metode untuk mulai menerima peristiwa dari peristiwa yang diantrekan tepat setelah panggilan metode.

logger

Konfigurasi @azure/logger untuk paket ini. Ini akan menghasilkan log menggunakan azure:event-hubs awalan namespace.

Detail Fungsi

createEventDataAdapter(EventDataAdapterParameters)

Fungsi yang membangun adaptor data peristiwa. Adaptor tersebut dapat digunakan dengan @azure/schema-registry-avro untuk mengodekan dan mendekode isi dalam data peristiwa.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

Parameter

params
EventDataAdapterParameters

parameter untuk membuat data peristiwa

Mengembalikan

MessageAdapter<EventData>

Adaptor data peristiwa yang dapat menghasilkan dan menggunakan data peristiwa

parseEventHubConnectionString(string)

Mengurai string koneksi yang diberikan ke dalam berbagai properti yang berlaku untuk Azure Event Hubs. Properti ini berguna untuk kemudian membuat EventHubProducerClient atau EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

Parameter

connectionString

string

String koneksi yang terkait dengan Kebijakan Akses Bersama yang dibuat untuk namespace Layanan Pusat Aktivitas.

Mengembalikan

Variable Details

earliestEventPosition

Mendapatkan yang EventPosition sesuai dengan lokasi peristiwa pertama yang ada di partisi. Teruskan posisi ini ke EventHubConsumerClient.subscribe() metode untuk mulai menerima peristiwa dari peristiwa pertama di partisi yang belum kedaluwarsa karena kebijakan retensi.

earliestEventPosition: EventPosition

Jenis

latestEventPosition

Mendapatkan yang EventPosition sesuai dengan akhir partisi. Teruskan posisi ini ke EventHubConsumerClient.subscribe() metode untuk mulai menerima peristiwa dari peristiwa yang diantrekan tepat setelah panggilan metode.

latestEventPosition: EventPosition

Jenis

logger

Konfigurasi @azure/logger untuk paket ini. Ini akan menghasilkan log menggunakan azure:event-hubs awalan namespace.

logger: AzureLogger

Jenis