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
| Event |
Kelas |
| Event |
Kelas |
| Event |
Kelas |
Properti
| event |
Nama instans Pusat Aktivitas tempat klien ini dibuat. |
| fully |
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. |
| create |
Membuat instans 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 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, Contoh penggunaan:
|
| get |
Menyediakan informasi runtime Event Hub. |
| get |
Menyediakan id untuk setiap partisi yang terkait dengan Pusat Aktivitas. |
| get |
Menyediakan informasi tentang status partisi yang ditentukan. |
| send |
Mengirim batch peristiwa yang dibuat menggunakan 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 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, Contoh penggunaan:
|
| send |
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 Contoh penggunaan:
|
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
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. FungsitryAddakan mengembalikanfalsesetelah 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
Promise<EventHubProperties>
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
Promise<PartitionProperties>
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
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,partitionKeytidak dapat diatur. -
partitionKey: Nilai yang di-hash untuk menghasilkan penugasan partisi. Jika diatur,partitionIdtidak dapat diatur.
Mengembalikan
Promise<void>
Janji<batal>