EventHubProducerClient class

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.

Konstruktor

EventHubProducerClient(string, EventHubClientOptions)

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas. Gunakan parmeter options untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

EventHubProducerClient(string, string, EventHubClientOptions)

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas. Gunakan parmeter options untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas. Gunakan parmeter options untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

Properti

eventHubName

Nama instans Pusat Aktivitas tempat klien ini dibuat.

fullyQualifiedNamespace

Namespace layanan yang sepenuhnya memenuhi syarat dari instans Pusat Aktivitas tempat klien ini dibuat. Ini kemungkinan mirip dengan <yournamespace.servicebus.windows.net>.

identifier

Nama yang digunakan untuk mengidentifikasi EventHubProducerClient ini. Jika tidak ditentukan atau kosong, yang unik acak akan dihasilkan.

Metode

close()

Menutup koneksi AMQP ke instans Pusat Aktivitas, mengembalikan janji yang akan diselesaikan saat pemutusan sambungan selesai.

createBatch(CreateBatchOptions)

Membuat instans EventDataBatch yang dapat ditambahkan peristiwa hingga ukuran maksimum yang didukung tercapai. Batch dapat diteruskan ke metode sendBatch dari EventHubProducerClient yang akan dikirim ke Azure Event Hubs.

Peristiwa dengan nilai yang berbeda untuk partitionKey atau partitionId perlu dimasukkan ke dalam batch yang berbeda. Untuk menyederhanakan manajemen batch tersebut di seluruh partisi atau agar klien secara otomatis membuat batch peristiwa dan mengirimkannya dalam interval tertentu, gunakan EventHubBufferedProducerClient sebagai gantinya.

Contoh di bawah ini mengasumsikan Anda memiliki array peristiwa yang ditangani untuk di-batch dengan aman. Jika Anda memiliki peristiwa yang datang satu per satu, EventHubBufferedProducerClient direkomendasikan sebagai gantinya untuk manajemen batch yang efisien.

Contoh penggunaan:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
  if (!batch.tryAdd(messages[i])) {
    await client.sendBatch(batch);
    batch = await client.createBatch();
    if (!batch.tryAdd(messages[i])) {
      throw new Error("Message too big to fit");
    }
    if (i === messages.length - 1) {
      await client.sendBatch(batch);
    }
  }
}
getEventHubProperties(GetEventHubPropertiesOptions)

Menyediakan informasi runtime Event Hub.

getPartitionIds(GetPartitionIdsOptions)

Menyediakan id untuk setiap partisi yang terkait dengan Pusat Aktivitas.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Menyediakan informasi tentang status partisi yang ditentukan.

sendBatch(EventDataBatch, OperationOptions)

Mengirim batch peristiwa yang dibuat menggunakan EventHubProducerClient.createBatch() ke Pusat Aktivitas terkait.

Peristiwa dengan nilai yang berbeda untuk partitionKey atau partitionId perlu dimasukkan ke dalam batch yang berbeda. Untuk menyederhanakan manajemen batch tersebut di seluruh partisi atau agar klien secara otomatis membuat batch peristiwa dan mengirimkannya dalam interval tertentu, gunakan EventHubBufferedProducerClient sebagai gantinya.

Contoh di bawah ini mengasumsikan Anda memiliki array peristiwa yang ditangani untuk di-batch dengan aman. Jika Anda memiliki peristiwa yang datang satu per satu, EventHubBufferedProducerClient direkomendasikan sebagai gantinya untuk manajemen batch yang efisien.

Contoh penggunaan:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
  if (!batch.tryAdd(messages[i])) {
    await client.sendBatch(batch);
    batch = await client.createBatch();
    if (!batch.tryAdd(messages[i])) {
      throw new Error("Message too big to fit");
    }
    if (i === messages.length - 1) {
      await client.sendBatch(batch);
    }
  }
}
sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

Mengirim array peristiwa sebagai batch ke Pusat Aktivitas terkait.

Azure Event Hubs memiliki batas ukuran batch yang dapat dikirim yang jika terlampaui akan mengakibatkan kesalahan dengan kode MessageTooLargeError. Untuk mengirim dengan aman dalam batas ukuran batch, gunakan EventHubProducerClient.createBatch() atau EventHubBufferedProducerClient sebagai gantinya.

Contoh penggunaan:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

await client.sendBatch(messages);

Detail Konstruktor

EventHubProducerClient(string, EventHubClientOptions)

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas. Gunakan parmeter options untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

new EventHubProducerClient(connectionString: string, options?: EventHubClientOptions)

Parameter

connectionString

string

String koneksi yang digunakan untuk menyambungkan ke instans Pusat Aktivitas. Diharapkan bahwa properti kunci bersama dan jalur Pusat Aktivitas terkandung dalam string koneksi ini. misalnya' Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

Sekumpulan opsi yang akan diterapkan saat mengonfigurasi klien.

  • retryOptions : Mengonfigurasi kebijakan coba lagi untuk semua operasi pada klien. Misalnya, { "maxRetries": 4 } atau { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Mengonfigurasi saluran koneksi AMQP melalui Soket Web.
  • userAgent : String untuk ditambahkan ke string agen pengguna bawaan yang diteruskan ke layanan.

EventHubProducerClient(string, string, EventHubClientOptions)

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas. Gunakan parmeter options untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

new EventHubProducerClient(connectionString: string, eventHubName: string, options?: EventHubClientOptions)

Parameter

connectionString

string

String koneksi yang digunakan untuk menyambungkan ke namespace Layanan Pusat Aktivitas. Diharapkan bahwa properti kunci bersama terkandung dalam string koneksi ini, tetapi bukan jalur Event Hub, misalnya 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/; SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

Nama Event Hub tertentu untuk menyambungkan klien.

options
EventHubClientOptions

Sekumpulan opsi yang akan diterapkan saat mengonfigurasi klien.

  • retryOptions : Mengonfigurasi kebijakan coba lagi untuk semua operasi pada klien. Misalnya, { "maxRetries": 4 } atau { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Mengonfigurasi saluran koneksi AMQP melalui Soket Web.
  • userAgent : String untuk ditambahkan ke string agen pengguna bawaan yang diteruskan ke layanan.

EventHubProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubClientOptions)

Kelas EventHubProducerClient digunakan untuk mengirim peristiwa ke Pusat Aktivitas. Gunakan parmeter options untuk mengonfigurasi kebijakan coba lagi atau pengaturan proksi.

new EventHubProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options?: EventHubClientOptions)

Parameter

fullyQualifiedNamespace

string

Ruang nama lengkap yang kemungkinan mirip dengan <ruang> nama Anda.servicebus.windows.net

eventHubName

string

Nama Event Hub tertentu untuk menyambungkan klien.

credential

TokenCredential | NamedKeyCredential | SASCredential

Objek kredensial yang digunakan oleh klien untuk mendapatkan token untuk mengautentikasi koneksi dengan layanan Azure Event Hubs. Lihat @azure/identitas untuk membuat info masuk yang mendukung autentikasi AAD. Gunakan AzureNamedKeyCredential dari @azure/core-auth jika Anda ingin meneruskan SharedAccessKeyName dan SharedAccessKey tanpa menggunakan string koneksi. Bidang-bidang ini masing-masing dipetakan ke bidang name dan key di AzureNamedKeyCredential. Gunakan AzureSASCredential dari @azure/core-auth jika Anda ingin meneruskan SharedAccessSignature tanpa menggunakan string koneksi. Bidang ini memetakan ke signature di AzureSASCredential.

options
EventHubClientOptions

Sekumpulan opsi yang akan diterapkan saat mengonfigurasi klien.

  • retryOptions : Mengonfigurasi kebijakan coba lagi untuk semua operasi pada klien. Misalnya, { "maxRetries": 4 } atau { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: Mengonfigurasi saluran koneksi AMQP melalui Soket Web.
  • userAgent : String untuk ditambahkan ke string agen pengguna bawaan yang diteruskan ke layanan.

Detail Properti

eventHubName

Nama instans Pusat Aktivitas tempat klien ini dibuat.

string eventHubName

Nilai Properti

string

fullyQualifiedNamespace

Namespace layanan yang sepenuhnya memenuhi syarat dari instans Pusat Aktivitas tempat klien ini dibuat. Ini kemungkinan mirip dengan <yournamespace.servicebus.windows.net>.

string fullyQualifiedNamespace

Nilai Properti

string

identifier

Nama yang digunakan untuk mengidentifikasi EventHubProducerClient ini. Jika tidak ditentukan atau kosong, yang unik acak akan dihasilkan.

identifier: string

Nilai Properti

string

Detail Metode

close()

Menutup koneksi AMQP ke instans Pusat Aktivitas, mengembalikan janji yang akan diselesaikan saat pemutusan sambungan selesai.

function close(): Promise<void>

Mengembalikan

Promise<void>

Janji<batal>

createBatch(CreateBatchOptions)

Membuat instans EventDataBatch yang dapat ditambahkan peristiwa hingga ukuran maksimum yang didukung tercapai. Batch dapat diteruskan ke metode sendBatch dari EventHubProducerClient yang akan dikirim ke Azure Event Hubs.

Peristiwa dengan nilai yang berbeda untuk partitionKey atau partitionId perlu dimasukkan ke dalam batch yang berbeda. Untuk menyederhanakan manajemen batch tersebut di seluruh partisi atau agar klien secara otomatis membuat batch peristiwa dan mengirimkannya dalam interval tertentu, gunakan EventHubBufferedProducerClient sebagai gantinya.

Contoh di bawah ini mengasumsikan Anda memiliki array peristiwa yang ditangani untuk di-batch dengan aman. Jika Anda memiliki peristiwa yang datang satu per satu, EventHubBufferedProducerClient direkomendasikan sebagai gantinya untuk manajemen batch yang efisien.

Contoh penggunaan:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
  if (!batch.tryAdd(messages[i])) {
    await client.sendBatch(batch);
    batch = await client.createBatch();
    if (!batch.tryAdd(messages[i])) {
      throw new Error("Message too big to fit");
    }
    if (i === messages.length - 1) {
      await client.sendBatch(batch);
    }
  }
}
function createBatch(options?: CreateBatchOptions): Promise<EventDataBatch>

Parameter

options
CreateBatchOptions

Mengonfigurasi perilaku batch.

  • partitionKey : Nilai yang di-hash dan digunakan oleh layanan Azure Event Hubs untuk menentukan partisi tempat peristiwa perlu dikirim.
  • partitionId : Id partisi tempat batch peristiwa perlu dikirim.
  • maxSizeInBytes: Batas atas untuk ukuran batch. Fungsi tryAdd akan mengembalikan false setelah batas ini tercapai.
  • abortSignal : Sinyal permintaan untuk membatalkan operasi.

Mengembalikan

Promise<EventDataBatch>

Janji<EventDataBatch>

getEventHubProperties(GetEventHubPropertiesOptions)

Menyediakan informasi runtime Event Hub.

function getEventHubProperties(options?: GetEventHubPropertiesOptions): Promise<EventHubProperties>

Parameter

options
GetEventHubPropertiesOptions

Kumpulan opsi yang akan diterapkan ke panggilan operasi.

Mengembalikan

Janji yang diselesaikan dengan informasi tentang instans Pusat Aktivitas.

getPartitionIds(GetPartitionIdsOptions)

Menyediakan id untuk setiap partisi yang terkait dengan Pusat Aktivitas.

function getPartitionIds(options?: GetPartitionIdsOptions): Promise<string[]>

Parameter

options
GetPartitionIdsOptions

Kumpulan opsi yang akan diterapkan ke panggilan operasi.

Mengembalikan

Promise<string[]>

Janji yang diselesaikan dengan Array string yang mewakili id untuk setiap partisi yang terkait dengan Event Hub.

getPartitionProperties(string, GetPartitionPropertiesOptions)

Menyediakan informasi tentang status partisi yang ditentukan.

function getPartitionProperties(partitionId: string, options?: GetPartitionPropertiesOptions): Promise<PartitionProperties>

Parameter

partitionId

string

Id partisi yang informasinya diperlukan.

options
GetPartitionPropertiesOptions

Kumpulan opsi yang akan diterapkan ke panggilan operasi.

Mengembalikan

Janji yang diselesaikan dengan informasi tentang status partisi .

sendBatch(EventDataBatch, OperationOptions)

Mengirim batch peristiwa yang dibuat menggunakan EventHubProducerClient.createBatch() ke Pusat Aktivitas terkait.

Peristiwa dengan nilai yang berbeda untuk partitionKey atau partitionId perlu dimasukkan ke dalam batch yang berbeda. Untuk menyederhanakan manajemen batch tersebut di seluruh partisi atau agar klien secara otomatis membuat batch peristiwa dan mengirimkannya dalam interval tertentu, gunakan EventHubBufferedProducerClient sebagai gantinya.

Contoh di bawah ini mengasumsikan Anda memiliki array peristiwa yang ditangani untuk di-batch dengan aman. Jika Anda memiliki peristiwa yang datang satu per satu, EventHubBufferedProducerClient direkomendasikan sebagai gantinya untuk manajemen batch yang efisien.

Contoh penggunaan:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

let batch = await client.createBatch();
for (let i = 0; i < messages.length; i++) {
  if (!batch.tryAdd(messages[i])) {
    await client.sendBatch(batch);
    batch = await client.createBatch();
    if (!batch.tryAdd(messages[i])) {
      throw new Error("Message too big to fit");
    }
    if (i === messages.length - 1) {
      await client.sendBatch(batch);
    }
  }
}
function sendBatch(batch: EventDataBatch, options?: OperationOptions): Promise<void>

Parameter

batch
EventDataBatch

Batch peristiwa yang dapat Anda buat menggunakan metode createBatch.

options
OperationOptions

Sekumpulan opsi yang dapat ditentukan untuk memengaruhi cara peristiwa dikirim ke Pusat Aktivitas terkait.

  • abortSignal : Sinyal permintaan untuk membatalkan operasi pengiriman.

Mengembalikan

Promise<void>

Janji<batal>

sendBatch(EventData[] | AmqpAnnotatedMessage[], SendBatchOptions)

Mengirim array peristiwa sebagai batch ke Pusat Aktivitas terkait.

Azure Event Hubs memiliki batas ukuran batch yang dapat dikirim yang jika terlampaui akan mengakibatkan kesalahan dengan kode MessageTooLargeError. Untuk mengirim dengan aman dalam batas ukuran batch, gunakan EventHubProducerClient.createBatch() atau EventHubBufferedProducerClient sebagai gantinya.

Contoh penggunaan:

import { EventHubProducerClient } from "@azure/event-hubs";

const client = new EventHubProducerClient("my-connection-string", "my-event-hub");

const messages = [
  { body: "my-event-body1" },
  { body: "my-event-body2" },
  { body: "my-event-body3" },
  { body: "my-event-body4" },
  { body: "my-event-body5" },
];

await client.sendBatch(messages);
function sendBatch(batch: EventData[] | AmqpAnnotatedMessage[], options?: SendBatchOptions): Promise<void>

Parameter

batch

EventData[] | AmqpAnnotatedMessage[]

Array eventData atau AmqpAnnotatedMessage.

options
SendBatchOptions

Sekumpulan opsi yang dapat ditentukan untuk memengaruhi cara peristiwa dikirim ke Pusat Aktivitas terkait.

  • abortSignal : Sinyal permintaan untuk membatalkan operasi pengiriman.
  • partitionId : Partisi tempat batch ini akan dikirim. Jika diatur, partitionKey tidak dapat diatur.
  • partitionKey : Nilai yang di-hash untuk menghasilkan penugasan partisi. Jika diatur, partitionId tidak dapat diatur.

Mengembalikan

Promise<void>

Janji<batal>