EventHubProducerClient class
EventHubProducerClient
يتم استخدام الفئة لإرسال الأحداث إلى Event Hub.
هناك طرق متعددة لإنشاء EventHubProducerClient
- استخدم سلسلة الاتصال من نهج SAS الذي تم إنشاؤه لمثيل Event Hub الخاص بك.
- استخدم سلسلة الاتصال من نهج SAS الذي تم إنشاؤه لمساحة اسم Event Hub واسم مثيل Event Hub
- استخدم مساحة الاسم الكاملة مثل
<yournamespace>.servicebus.windows.net
، وعنصر بيانات الاعتماد.
اختياريا، يمكنك أيضا تمرير حقيبة خيارات لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.
المنشئون
Event |
|
Event |
|
Event |
|
الخصائص
event |
اسم مثيل Event Hub الذي تم إنشاء هذا العميل له. |
fully |
مساحة الاسم المؤهلة بالكامل لمثيل Event Hub الذي تم إنشاء هذا العميل له. من المحتمل أن يكون هذا مشابها ل .servicebus.windows.net. |
identifier | الاسم المستخدم لتعريف EventHubProducerClient هذا. إذا لم يتم تحديده أو إفراغه، فسيتم إنشاء واحد فريد عشوائي. |
الأساليب
close() | إغلاق اتصال AMQP بمثيل Event Hub، مع إرجاع وعد سيتم حله عند اكتمال قطع الاتصال. |
create |
ينشئ مثيلا يجب وضع الأحداث ذات القيم المختلفة ل partitionKey أو partitionId في دفعات مختلفة.
لتبسيط إدارة الدفعات هذه عبر الأقسام أو لجعل العميل يقوم تلقائيا بتجميع الأحداث وإرسالها في فواصل زمنية محددة، استخدم يفترض المثال أدناه أن لديك صفيفا من الأحداث في متناول اليد ليتم تجميعها بأمان.
إذا كان لديك أحداث قادمة واحدا تلو الآخر، استخدام المثال:
|
get |
يوفر معلومات وقت تشغيل Event Hub. |
get |
يوفر المعرف لكل قسم مقترن بمركز الأحداث. |
get |
يوفر معلومات حول حالة القسم المحدد. |
send |
يرسل دفعة من الأحداث التي تم إنشاؤها باستخدام يجب وضع الأحداث ذات القيم المختلفة ل partitionKey أو partitionId في دفعات مختلفة.
لتبسيط إدارة الدفعات هذه عبر الأقسام أو لجعل العميل يقوم تلقائيا بتجميع الأحداث وإرسالها في فواصل زمنية محددة، استخدم يفترض المثال أدناه أن لديك صفيفا من الأحداث في متناول اليد ليتم تجميعها بأمان.
إذا كان لديك أحداث قادمة واحدا تلو الآخر، استخدام المثال:
|
send |
يرسل صفيفا من الأحداث كدفعة إلى Event Hub المقترن. لدى Azure Event Hubs حد لحجم الدفعة التي يمكن إرسالها والتي إذا تم تجاوزها ستؤدي إلى خطأ مع التعليمات البرمجية استخدام المثال:
|
تفاصيل المنشئ
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
عنصر بيانات اعتماد يستخدمه العميل للحصول على الرمز المميز لمصادقة الاتصال بخدمة 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
مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.
المرتجعات
Promise<EventHubProperties>
وعد يحل بمعلومات حول مثيل 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
مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.
المرتجعات
Promise<PartitionProperties>
وعد يحل بمعلومات حول حالة القسم .
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
.
- options
- SendBatchOptions
مجموعة من الخيارات التي يمكن تحديدها للتأثير على الطريقة التي يتم بها إرسال الأحداث إلى Event Hub المقترن.
-
abortSignal
: إشارة إلى طلب إلغاء عملية الإرسال. -
partitionId
: سيتم إرسال القسم الذي سيتم إرسال هذه الدفعة إليه. إذا تم تعيينه،partitionKey
فلا يمكن تعيينه. -
partitionKey
: قيمة متجزئة لإنتاج تعيين قسم. إذا تم تعيينه،partitionId
فلا يمكن تعيينه.
المرتجعات
Promise<void>
وعد