EventHubBufferedProducerClient class
EventHubBufferedProducerClient
يتم استخدام لنشر الأحداث إلى مركز أحداث معين.
EventHubBufferedProducerClient
لا ينشر الأحداث على الفور.
بدلا من ذلك، يتم تخزين الأحداث مؤقتا بحيث يمكن تجميعها ونشرها بكفاءة عندما تكون الدفعة ممتلئة أو maxWaitTimeInMs
انقضت دون وضع أي أحداث جديدة في قائمة الانتظار.
اعتمادا على الخيارات المحددة عند إدراج الأحداث في قائمة الانتظار، قد يتم تعيينها تلقائيا إلى قسم، أو تجميعها وفقا لمفتاح القسم المحدد، أو تعيين قسم مطلوب خصيصا.
يهدف هذا النموذج إلى تحويل عبء إدارة الدفعات من المتصلين، على حساب التوقيت غير المحدد، لموعد نشر الأحداث. هناك مفاضلات إضافية يجب مراعاتها، أيضا:
- إذا تعطل التطبيق، فلن يتم نشر الأحداث في المخزن المؤقت. لمنع فقدان البيانات، يتم تشجيع المتصلين على تتبع تقدم النشر باستخدام
onSendEventsSuccessHandler
المعالجين وonSendEventsErrorHandler
. - قد يتم تعيين قسم مختلف للأحداث التي تحدد مفتاح القسم عن تلك التي تستخدم نفس المفتاح مع منتجين آخرين.
- في حالة عدم توفر القسم مؤقتا،
EventHubBufferedProducerClient
قد يستغرق استرداده وقتا أطول من المنتجين الآخرين.
في السيناريوهات التي من المهم فيها نشر الأحداث على الفور بنتيجة محددة، تأكد من تعيين مفاتيح الأقسام إلى قسم يتوافق مع الناشرين الآخرين، أو حيث يكون تكبير التوفر مطلبا، يوصى باستخدام EventHubProducerClient
.
المنشئون
Event |
|
Event |
|
Event |
|
الخصائص
event |
اسم مثيل Event Hub الذي تم إنشاء هذا العميل له. |
fully |
مساحة الاسم المؤهلة بالكامل لمثيل Event Hub الذي تم إنشاء هذا العميل له. من المحتمل أن يكون هذا مشابها ل .servicebus.windows.net. |
identifier | الاسم المستخدم لتعريف EventHubBufferedProducerClient هذا. إذا لم يتم تحديده أو إفراغه، فسيتم إنشاء واحد فريد عشوائي. |
الأساليب
close(Buffered |
إغلاق اتصال AMQP بمثيل Event Hub، مع إرجاع وعد سيتم حله عند اكتمال قطع الاتصال. سينتظر هذا حتى يتم مسح الأحداث المدرجة في قائمة الانتظار إلى الخدمة قبل إغلاق الاتصال.
لإغلاق دون مسح، قم بتعيين |
enqueue |
وضع حدث في المخزن المؤقت ليتم نشره في Event Hub. إذا لم تكن هناك سعة في المخزن المؤقت عند استدعاء هذا الأسلوب، فسينتظر توفر المساحة والتأكد من أن الحدث قد تم ترتيبه في قائمة الانتظار. عند إرجاع هذا الاستدعاء، تم قبول الحدث في المخزن المؤقت، ولكن ربما لم يتم نشره بعد. سيتم النشر في نقطة غير محددة في المستقبل عند معالجة المخزن المؤقت. |
enqueue |
إدراج الأحداث في المخزن المؤقت ليتم نشرها في Event Hub. إذا لم تكن هناك سعة في المخزن المؤقت عند استدعاء هذا الأسلوب، فإنه سينتظر حتى تصبح المساحة متاحة وتأكد من أن الأحداث قد تم ترتيبها في قائمة الانتظار. عند إرجاع هذا الاستدعاء، تم قبول الأحداث في المخزن المؤقت، ولكن ربما لم يتم نشرها بعد. سيتم النشر في نقطة غير محددة في المستقبل عند معالجة المخزن المؤقت. |
flush(Buffered |
يحاول نشر جميع الأحداث في المخزن المؤقت على الفور.
قد يؤدي ذلك إلى نشر دفعات متعددة، سيتم الإبلاغ عن كل منها بشكل فردي من قبل |
get |
يوفر معلومات وقت تشغيل Event Hub. |
get |
يوفر المعرف لكل قسم مقترن بمركز الأحداث. |
get |
يوفر معلومات حول حالة القسم المحدد. |
تفاصيل المنشئ
EventHubBufferedProducerClient(string, EventHubBufferedProducerClientOptions)
EventHubBufferedProducerClient
يتم استخدام الفئة لإرسال الأحداث إلى Event Hub.
options
استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.
new EventHubBufferedProducerClient(connectionString: string, options: EventHubBufferedProducerClientOptions)
المعلمات
- 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'.
مجموعة من الخيارات لتطبيقها عند تكوين العميل.
-
retryOptions
: تكوين نهج إعادة المحاولة لجميع العمليات على العميل. على سبيل المثال،{ "maxRetries": 4 }
أو{ "maxRetries": 4, "retryDelayInMs": 30000 }
. -
webSocketOptions
: تكوين قناة اتصال AMQP عبر مآخذ الويب. -
userAgent
: سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها إلى الخدمة.
EventHubBufferedProducerClient(string, string, EventHubBufferedProducerClientOptions)
EventHubBufferedProducerClient
يتم استخدام الفئة لإرسال الأحداث إلى Event Hub.
options
استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.
new EventHubBufferedProducerClient(connectionString: string, eventHubName: string, options: EventHubBufferedProducerClientOptions)
المعلمات
- connectionString
-
string
سلسلة الاتصال المراد استخدامها للاتصال بمساحة اسم مراكز الأحداث. من المتوقع أن يتم تضمين خصائص المفتاح المشترك في سلسلة الاتصال هذه، ولكن ليس مسار Event Hub، مثل 'Endpoint=sb://my-servicebus-namespace.servicebus.windows.net/;SharedAccessKeyName=my-SA-name; SharedAccessKey=my-SA-key;'.
- eventHubName
-
string
اسم Event Hub المحدد لتوصيل العميل به.
مجموعة من الخيارات لتطبيقها عند تكوين العميل.
-
retryOptions
: تكوين نهج إعادة المحاولة لجميع العمليات على العميل. على سبيل المثال،{ "maxRetries": 4 }
أو{ "maxRetries": 4, "retryDelayInMs": 30000 }
. -
webSocketOptions
: تكوين قناة اتصال AMQP عبر مآخذ الويب. -
userAgent
: سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها إلى الخدمة.
EventHubBufferedProducerClient(string, string, TokenCredential | NamedKeyCredential | SASCredential, EventHubBufferedProducerClientOptions)
EventHubBufferedProducerClient
يتم استخدام الفئة لإرسال الأحداث إلى Event Hub.
options
استخدم parmeter لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.
new EventHubBufferedProducerClient(fullyQualifiedNamespace: string, eventHubName: string, credential: TokenCredential | NamedKeyCredential | SASCredential, options: EventHubBufferedProducerClientOptions)
المعلمات
- 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
.
مجموعة من الخيارات التي يجب تطبيقها عند تكوين العميل.
-
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
الاسم المستخدم لتعريف EventHubBufferedProducerClient هذا. إذا لم يتم تحديده أو إفراغه، فسيتم إنشاء واحد فريد عشوائي.
identifier: string
قيمة الخاصية
string
تفاصيل الأسلوب
close(BufferedCloseOptions)
إغلاق اتصال AMQP بمثيل Event Hub، مع إرجاع وعد سيتم حله عند اكتمال قطع الاتصال.
سينتظر هذا حتى يتم مسح الأحداث المدرجة في قائمة الانتظار إلى الخدمة قبل إغلاق الاتصال.
لإغلاق دون مسح، قم بتعيين flush
الخيار إلى false
.
function close(options?: BufferedCloseOptions): Promise<void>
المعلمات
- options
- BufferedCloseOptions
مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.
المرتجعات
Promise<void>
وعد
enqueueEvent(EventData | AmqpAnnotatedMessage, EnqueueEventOptions)
وضع حدث في المخزن المؤقت ليتم نشره في Event Hub. إذا لم تكن هناك سعة في المخزن المؤقت عند استدعاء هذا الأسلوب، فسينتظر توفر المساحة والتأكد من أن الحدث قد تم ترتيبه في قائمة الانتظار.
عند إرجاع هذا الاستدعاء، تم قبول الحدث في المخزن المؤقت، ولكن ربما لم يتم نشره بعد. سيتم النشر في نقطة غير محددة في المستقبل عند معالجة المخزن المؤقت.
function enqueueEvent(event: EventData | AmqpAnnotatedMessage, options?: EnqueueEventOptions): Promise<number>
المعلمات
- event
- options
- EnqueueEventOptions
مجموعة من الخيارات التي يمكن تحديدها للتأثير على الطريقة التي يتم بها إرسال الحدث إلى Event Hub المقترن.
-
abortSignal
: إشارة تستخدم لإلغاء عملية enqueueEvent. -
partitionId
: سيتم إرسال القسم الذي سيتم إرسال مجموعة الأحداث هذه إليه. إذا تم تعيينه،partitionKey
فلا يمكن تعيينه. -
partitionKey
: قيمة متجزئة لإنتاج تعيين قسم. إذا تم تعيينه،partitionId
فلا يمكن تعيينه.
المرتجعات
Promise<number>
العدد الإجمالي للأحداث المخزنة مؤقتا حاليا والمنتظرة للنشر، عبر جميع الأقسام.
enqueueEvents(EventData[] | AmqpAnnotatedMessage[], EnqueueEventOptions)
إدراج الأحداث في المخزن المؤقت ليتم نشرها في Event Hub. إذا لم تكن هناك سعة في المخزن المؤقت عند استدعاء هذا الأسلوب، فإنه سينتظر حتى تصبح المساحة متاحة وتأكد من أن الأحداث قد تم ترتيبها في قائمة الانتظار.
عند إرجاع هذا الاستدعاء، تم قبول الأحداث في المخزن المؤقت، ولكن ربما لم يتم نشرها بعد. سيتم النشر في نقطة غير محددة في المستقبل عند معالجة المخزن المؤقت.
function enqueueEvents(events: EventData[] | AmqpAnnotatedMessage[], options?: EnqueueEventOptions): Promise<number>
المعلمات
- events
صفيف من EventData أو AmqpAnnotatedMessage
.
- options
- EnqueueEventOptions
مجموعة من الخيارات التي يمكن تحديدها للتأثير على الطريقة التي يتم بها إرسال الأحداث إلى Event Hub المقترن.
-
abortSignal
: إشارة تستخدم لإلغاء عملية enqueueEvents. -
partitionId
: سيتم إرسال القسم الذي سيتم إرسال مجموعة الأحداث هذه إليه. إذا تم تعيينه،partitionKey
فلا يمكن تعيينه. -
partitionKey
: قيمة متجزئة لإنتاج تعيين قسم. إذا تم تعيينه،partitionId
فلا يمكن تعيينه.
المرتجعات
Promise<number>
العدد الإجمالي للأحداث المخزنة مؤقتا حاليا والمنتظرة للنشر، عبر جميع الأقسام.
flush(BufferedFlushOptions)
يحاول نشر جميع الأحداث في المخزن المؤقت على الفور.
قد يؤدي ذلك إلى نشر دفعات متعددة، سيتم الإبلاغ عن كل منها بشكل فردي من قبل onSendEventsSuccessHandler
المعالجين و onSendEventsErrorHandler
.
function flush(options?: BufferedFlushOptions): Promise<void>
المعلمات
- options
- BufferedFlushOptions
مجموعة الخيارات التي يجب تطبيقها على استدعاء العملية.
المرتجعات
Promise<void>
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>
وعد يحل بمعلومات حول حالة القسم .