EventHubProducerClient class

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub.

هناك طرق متعددة لإنشاء EventHubProducerClient

  • استخدم سلسلة الاتصال من نهج SAS الذي تم إنشاؤه لمثيل Event Hub الخاص بك.
  • استخدم سلسلة الاتصال من نهج SAS الذي تم إنشاؤه لمساحة اسم Event Hub واسم مثيل Event Hub
  • استخدم مساحة الاسم الكاملة مثل <yournamespace>.servicebus.windows.net، وعنصر بيانات الاعتماد.

اختياريا، يمكنك أيضا تمرير حقيبة خيارات لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

المنشئون

EventHubProducerClient(string, EventHubClientOptions)

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub. options استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

EventHubProducerClient(string, string, EventHubClientOptions)

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub. options استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

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

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub. options استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

الخصائص

eventHubName

اسم مثيل Event Hub الذي تم إنشاء هذا العميل له.

fullyQualifiedNamespace

مساحة الاسم المؤهلة بالكامل لمثيل Event Hub الذي تم إنشاء هذا العميل له. من المحتمل أن يكون هذا مشابها ل .servicebus.windows.net.

identifier

الاسم المستخدم لتعريف EventHubProducerClient هذا. إذا لم يتم تحديده أو إفراغه، فسيتم إنشاء واحد فريد عشوائي.

الأساليب

close()

إغلاق اتصال AMQP بمثيل Event Hub، مع إرجاع وعد سيتم حله عند اكتمال قطع الاتصال.

createBatch(CreateBatchOptions)

ينشئ مثيلا EventDataBatch يمكن للمرء إضافة الأحداث إليه حتى يتم الوصول إلى الحد الأقصى للحجم المدعوم. يمكن تمرير الدفعة إلى أسلوب sendBatch لإرسالها EventHubProducerClient إلى Azure Event Hubs.

يجب وضع الأحداث ذات القيم المختلفة ل partitionKey أو partitionId في دفعات مختلفة. لتبسيط إدارة الدفعات هذه عبر الأقسام أو لجعل العميل يقوم تلقائيا بتجميع الأحداث وإرسالها في فواصل زمنية محددة، استخدم EventHubBufferedProducerClient بدلا من ذلك.

يفترض المثال أدناه أن لديك صفيفا من الأحداث في متناول اليد ليتم تجميعها بأمان. إذا كان لديك أحداث قادمة واحدا تلو الآخر، EventHubBufferedProducerClient يوصى بدلا من ذلك لإدارة الدفعات بكفاءة.

استخدام المثال:

const client = new EventHubProducerClient(connectionString);
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)

يوفر معلومات وقت تشغيل Event Hub.

getPartitionIds(GetPartitionIdsOptions)

يوفر المعرف لكل قسم مقترن بمركز الأحداث.

getPartitionProperties(string, GetPartitionPropertiesOptions)

يوفر معلومات حول حالة القسم المحدد.

sendBatch(EventDataBatch, OperationOptions)

يرسل دفعة من الأحداث التي تم إنشاؤها باستخدام EventHubProducerClient.createBatch() إلى Event Hub المقترن.

يجب وضع الأحداث ذات القيم المختلفة ل partitionKey أو partitionId في دفعات مختلفة. لتبسيط إدارة الدفعات هذه عبر الأقسام أو لجعل العميل يقوم تلقائيا بتجميع الأحداث وإرسالها في فواصل زمنية محددة، استخدم EventHubBufferedProducerClient بدلا من ذلك.

يفترض المثال أدناه أن لديك صفيفا من الأحداث في متناول اليد ليتم تجميعها بأمان. إذا كان لديك أحداث قادمة واحدا تلو الآخر، EventHubBufferedProducerClient يوصى بدلا من ذلك لإدارة الدفعات بكفاءة.

استخدام المثال:

const client = new EventHubProducerClient(connectionString);
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)

يرسل صفيفا من الأحداث كدفعة إلى Event Hub المقترن.

لدى Azure Event Hubs حد لحجم الدفعة التي يمكن إرسالها والتي إذا تم تجاوزها ستؤدي إلى خطأ مع التعليمات البرمجية MessageTooLargeError. لإرسال بأمان ضمن حدود حجم الدفعة، استخدم EventHubProducerClient.createBatch() أو EventHubBufferedProducerClient بدلا من ذلك.

استخدام المثال:

const client = new EventHubProducerClient(connectionString);
await client.sendBatch(messages);

تفاصيل المنشئ

EventHubProducerClient(string, EventHubClientOptions)

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub. options استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

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

المعلمات

connectionString

string

سلسلة الاتصال المراد استخدامها للاتصال بمثيل Event Hub. من المتوقع أن يتم تضمين خصائص المفتاح المشترك ومسار Event Hub في سلسلة الاتصال هذه. على سبيل المثال'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key; EntityPath=my-event-hub-name'.

options
EventHubClientOptions

مجموعة من الخيارات لتطبيقها عند تكوين العميل.

  • retryOptions : تكوين نهج إعادة المحاولة لجميع العمليات على العميل. على سبيل المثال، { "maxRetries": 4 } أو { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: تكوين قناة اتصال AMQP عبر مآخذ الويب.
  • userAgent : سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها إلى الخدمة.

EventHubProducerClient(string, string, EventHubClientOptions)

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub. options استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

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

المعلمات

connectionString

string

سلسلة الاتصال المراد استخدامها للاتصال بمساحة اسم مراكز الأحداث. من المتوقع أن يتم تضمين خصائص المفتاح المشترك في سلسلة الاتصال هذه، ولكن ليس مسار Event Hub، مثل 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.

eventHubName

string

اسم Event Hub المحدد لتوصيل العميل به.

options
EventHubClientOptions

مجموعة من الخيارات لتطبيقها عند تكوين العميل.

  • retryOptions : تكوين نهج إعادة المحاولة لجميع العمليات على العميل. على سبيل المثال، { "maxRetries": 4 } أو { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: تكوين قناة اتصال AMQP عبر مآخذ الويب.
  • userAgent : سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها إلى الخدمة.

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

EventHubProducerClient يتم استخدام الفئة لإرسال الأحداث إلى Event Hub. options استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.

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

المعلمات

fullyQualifiedNamespace

string

مساحة الاسم الكاملة التي من المحتمل أن تكون مشابهة ل .servicebus.windows.net

eventHubName

string

اسم Event Hub المحدد لتوصيل العميل به.

credential

TokenCredential | NamedKeyCredential | SASCredential

عنصر بيانات اعتماد يستخدمه العميل للحصول على الرمز المميز لمصادقة الاتصال بخدمة Azure Event Hubs. راجع @azure/الهوية لإنشاء بيانات الاعتماد التي تدعم مصادقة AAD. AzureNamedKeyCredential استخدم من @azure/core-auth إذا كنت تريد تمرير SharedAccessKeyName و SharedAccessKey دون استخدام سلسلة اتصال. تعين هذه الحقول إلى name الحقلين و key على التوالي في AzureNamedKeyCredential. AzureSASCredential استخدم من @azure/core-auth إذا كنت تريد تمرير SharedAccessSignature دون استخدام سلسلة اتصال. يتم تعيين هذا الحقل إلى signature في AzureSASCredential.

options
EventHubClientOptions

مجموعة من الخيارات التي يجب تطبيقها عند تكوين العميل.

  • retryOptions : تكوين نهج إعادة المحاولة لجميع العمليات على العميل. على سبيل المثال، { "maxRetries": 4 } أو { "maxRetries": 4, "retryDelayInMs": 30000 }.
  • webSocketOptions: تكوين قناة اتصال AMQP عبر مآخذ ويب.
  • userAgent : سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها إلى الخدمة.

تفاصيل الخاصية

eventHubName

اسم مثيل Event Hub الذي تم إنشاء هذا العميل له.

string eventHubName

قيمة الخاصية

string

fullyQualifiedNamespace

مساحة الاسم المؤهلة بالكامل لمثيل Event Hub الذي تم إنشاء هذا العميل له. من المحتمل أن يكون هذا مشابها ل .servicebus.windows.net.

string fullyQualifiedNamespace

قيمة الخاصية

string

identifier

الاسم المستخدم لتعريف EventHubProducerClient هذا. إذا لم يتم تحديده أو إفراغه، فسيتم إنشاء واحد فريد عشوائي.

identifier: string

قيمة الخاصية

string

تفاصيل الأسلوب

close()

إغلاق اتصال AMQP بمثيل Event Hub، مع إرجاع وعد سيتم حله عند اكتمال قطع الاتصال.

function close(): Promise<void>

المرتجعات

Promise<void>

وعد

createBatch(CreateBatchOptions)

ينشئ مثيلا EventDataBatch يمكن للمرء إضافة الأحداث إليه حتى يتم الوصول إلى الحد الأقصى للحجم المدعوم. يمكن تمرير الدفعة إلى أسلوب sendBatch لإرسالها EventHubProducerClient إلى Azure Event Hubs.

يجب وضع الأحداث ذات القيم المختلفة ل partitionKey أو partitionId في دفعات مختلفة. لتبسيط إدارة الدفعات هذه عبر الأقسام أو لجعل العميل يقوم تلقائيا بتجميع الأحداث وإرسالها في فواصل زمنية محددة، استخدم EventHubBufferedProducerClient بدلا من ذلك.

يفترض المثال أدناه أن لديك صفيفا من الأحداث في متناول اليد ليتم تجميعها بأمان. إذا كان لديك أحداث قادمة واحدا تلو الآخر، EventHubBufferedProducerClient يوصى بدلا من ذلك لإدارة الدفعات بكفاءة.

استخدام المثال:

const client = new EventHubProducerClient(connectionString);
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>

المعلمات

options
CreateBatchOptions

تكوين سلوك الدفعة.

  • partitionKey : قيمة يتم تجزئتها واستخدامها بواسطة خدمة Azure Event Hubs لتحديد القسم الذي يجب إرسال الأحداث إليه.
  • partitionId : معرف القسم الذي يجب إرسال دفعة الأحداث إليه.
  • maxSizeInBytes: الحد الأعلى لحجم الدفعة. سيتم إرجاع false الدالة tryAdd بعد الوصول إلى هذا الحد.
  • abortSignal : إشارة إلى طلب إلغاء العملية.

المرتجعات

Promise<EventDataBatch>

وعد

getEventHubProperties(GetEventHubPropertiesOptions)

يوفر معلومات وقت تشغيل Event Hub.

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

المعلمات

options
GetEventHubPropertiesOptions

مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.

المرتجعات

وعد يحل بمعلومات حول مثيل Event Hub.

getPartitionIds(GetPartitionIdsOptions)

يوفر المعرف لكل قسم مقترن بمركز الأحداث.

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

المعلمات

options
GetPartitionIdsOptions

مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.

المرتجعات

Promise<string[]>

وعد يحل مع صفيف من السلاسل التي تمثل المعرف لكل قسم مقترن بمركز الأحداث.

getPartitionProperties(string, GetPartitionPropertiesOptions)

يوفر معلومات حول حالة القسم المحدد.

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

المعلمات

partitionId

string

معرف القسم المطلوب معلومات له.

options
GetPartitionPropertiesOptions

مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.

المرتجعات

وعد يحل بمعلومات حول حالة القسم .

sendBatch(EventDataBatch, OperationOptions)

يرسل دفعة من الأحداث التي تم إنشاؤها باستخدام EventHubProducerClient.createBatch() إلى Event Hub المقترن.

يجب وضع الأحداث ذات القيم المختلفة ل partitionKey أو partitionId في دفعات مختلفة. لتبسيط إدارة الدفعات هذه عبر الأقسام أو لجعل العميل يقوم تلقائيا بتجميع الأحداث وإرسالها في فواصل زمنية محددة، استخدم EventHubBufferedProducerClient بدلا من ذلك.

يفترض المثال أدناه أن لديك صفيفا من الأحداث في متناول اليد ليتم تجميعها بأمان. إذا كان لديك أحداث قادمة واحدا تلو الآخر، EventHubBufferedProducerClient يوصى بدلا من ذلك لإدارة الدفعات بكفاءة.

استخدام المثال:

const client = new EventHubProducerClient(connectionString);
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>

المعلمات

batch
EventDataBatch

دفعة من الأحداث التي يمكنك إنشاؤها باستخدام أسلوب createBatch .

options
OperationOptions

مجموعة من الخيارات التي يمكن تحديدها للتأثير على الطريقة التي يتم بها إرسال الأحداث إلى Event Hub المقترن.

  • abortSignal : إشارة إلى طلب إلغاء عملية الإرسال.

المرتجعات

Promise<void>

وعد

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

يرسل صفيفا من الأحداث كدفعة إلى Event Hub المقترن.

لدى Azure Event Hubs حد لحجم الدفعة التي يمكن إرسالها والتي إذا تم تجاوزها ستؤدي إلى خطأ مع التعليمات البرمجية MessageTooLargeError. لإرسال بأمان ضمن حدود حجم الدفعة، استخدم EventHubProducerClient.createBatch() أو EventHubBufferedProducerClient بدلا من ذلك.

استخدام المثال:

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

المعلمات

batch

EventData[] | AmqpAnnotatedMessage[]

صفيف من EventData أو AmqpAnnotatedMessage.

options
SendBatchOptions

مجموعة من الخيارات التي يمكن تحديدها للتأثير على الطريقة التي يتم بها إرسال الأحداث إلى Event Hub المقترن.

  • abortSignal : إشارة إلى طلب إلغاء عملية الإرسال.
  • partitionId : سيتم إرسال القسم الذي سيتم إرسال هذه الدفعة إليه. إذا تم تعيينه، partitionKey فلا يمكن تعيينه.
  • partitionKey : قيمة متجزئة لإنتاج تعيين قسم. إذا تم تعيينه، partitionId فلا يمكن تعيينه.

المرتجعات

Promise<void>

وعد