@azure/event-hubs package

الفصول

EventHubBufferedProducerClient

EventHubBufferedProducerClientيتم استخدام لنشر الأحداث إلى مركز أحداث معين.

EventHubBufferedProducerClient لا ينشر الأحداث على الفور. بدلا من ذلك، يتم تخزين الأحداث مؤقتا بحيث يمكن تجميعها ونشرها بكفاءة عند امتلاء الدفعة أو maxWaitTimeInMs انقضاء دون وضع أحداث جديدة في قائمة الانتظار.

اعتمادا على الخيارات المحددة عند إدراج الأحداث في قائمة الانتظار، قد يتم تعيينها تلقائيا إلى قسم، أو تجميعها وفقا لمفتاح القسم المحدد، أو تعيين قسم مطلوب خصيصا.

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

  • إذا تعطل التطبيق، فلن يتم نشر الأحداث في المخزن المؤقت. لمنع فقدان البيانات، يتم تشجيع المتصلين على تتبع تقدم النشر باستخدام onSendEventsSuccessHandler المعالجين و onSendEventsErrorHandler .
  • قد يتم تعيين قسم مختلف للأحداث التي تحدد مفتاح القسم عن تلك التي تستخدم نفس المفتاح مع منتجين آخرين.
  • في حالة عدم توفر القسم مؤقتا، EventHubBufferedProducerClient قد يستغرق استرداده وقتا أطول من المنتجين الآخرين.

في السيناريوهات التي يكون من المهم فيها نشر الأحداث على الفور بنتيجة حتمية، تأكد من تعيين مفاتيح الأقسام إلى قسم متناسق مع الناشرين الآخرين، أو حيث يكون تكبير التوفر مطلبا، يوصى باستخدام EventHubProducerClient .

EventHubConsumerClient

EventHubConsumerClient يتم استخدام الفئة لاستهلاك الأحداث من Event Hub.

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

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

اختياريا، يمكنك أيضا تمرير:

  • حقيبة خيارات لتكوين نهج إعادة المحاولة أو إعدادات الوكيل.
  • مخزن نقاط التحقق الذي يستخدمه العميل لقراءة نقاط التحقق لتحديد الموضع الذي يجب أن يستأنف منه تلقي الأحداث عند إعادة تشغيل التطبيق الخاص بك. يستخدم العميل أيضا مخزن نقاط التحقق لتحميل مثيلات متعددة من التطبيق الخاص بك.
EventHubProducerClient

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

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

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

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

MessagingError

يصف الفئة الأساسية لخطأ المراسلة.

الواجهات

BufferedCloseOptions

خيارات لتكوين الأسلوب على closeEventHubBufferedProducerClient.

BufferedFlushOptions

خيارات لتكوين الأسلوب على flushEventHubBufferedProducerClient.

Checkpoint

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

updateCheckpoint() عند استدعاء الأسلوب في PartitionProcessor الفئة من قبل المستخدم، Checkpoint يتم إنشاء داخليا. ثم يتم تخزينه في حل التخزين الذي ينفذه CheckpointManager المستخدم الذي اختاره عند إنشاء EventProcessor.

لا يتوقع من المستخدمين التفاعل معهم Checkpoint مباشرة. توجد هذه الواجهة لدعم العمل الداخلي ل EventProcessor و CheckpointManager.

CheckpointStore

تخزن نقطة التحقق معلومات ملكية القسم وتفاصيل نقطة التحقق وتستردها لكل قسم في مجموعة مستهلكين معينة لمثيل مركز الأحداث.

لا يقصد من المستخدمين تنفيذ CheckpointStore. من المتوقع من المستخدمين اختيار التطبيقات الموجودة لهذه الواجهة، وإنشاء مثيل لها، وتمريرها إلى EventHubConsumerClient منشئ الفئة عند إنشاء مثيل للعميل. لا يتوقع من المستخدمين استخدام أي من الأساليب في مخزن نقاط التحقق، يتم استخدامها داخليا من قبل العميل.

يمكن العثور على عمليات CheckpointStore تنفيذ على npm عن طريق البحث عن الحزم ذات البادئة @azure/eventhub-checkpointstore-.

CreateBatchOptions

خيارات لتكوين الأسلوب على createBatchEventHubProducerClient.

  • partitionKey : قيمة متجزئة لإنتاج تعيين قسم.
  • maxSizeInBytes: الحد الأعلى لحجم الدفعة.
  • abortSignal : إشارة إلى طلب إلغاء عملية الإرسال.

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

{
    partitionKey: 'foo',
    maxSizeInBytes: 1024 * 1024 // 1 MB
}
EnqueueEventOptions

خيارات لتكوين الأسلوب على enqueueEventsEventHubBufferedProducerClient.

EventData

الواجهة التي تصف البيانات التي سيتم إرسالها إلى Event Hub. استخدم هذا كمرجع عند إنشاء الكائن المراد إرساله عند استخدام EventHubProducerClient. على سبيل المثال: ⁧{ body: "your-data" }⁩ أو ⁧⁩

{
   body: "your-data",
   properties: {
      propertyName: "property value"
   }
}
EventDataAdapterParameters

معلمات للدالة createEventDataAdapter التي تنشئ محول بيانات الحدث.

EventDataBatch

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

لإنشاء الدفعة، استخدم الأسلوب على createBatch()EventHubProducerClient. لإرسال الدفعة، استخدم sendBatch() الأسلوب على نفس العميل. لتعبئة الدفعة، استخدم الأسلوب على tryAdd() الدفعة نفسها.

EventHubBufferedProducerClientOptions

يصف الخيارات التي يمكن توفيرها أثناء إنشاء EventHubBufferedProducerClient.

EventHubClientOptions

يصف الخيارات التي يمكن توفيرها أثناء إنشاء EventHubClient.

  • userAgent : سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها كخاصية اتصال بالخدمة.
  • webSocketOptions : خيارات لتكوين قناة اتصال AMQP عبر مآخذ ويب.
    • websocket : الدالة الإنشائية WebSocket المستخدمة لإنشاء اتصال AMQP إذا اخترت إجراء الاتصال عبر WebSocket.
    • webSocketConstructorOptions : خيارات لتمريرها إلى منشئ Websocket عند اختيار إجراء الاتصال عبر WebSocket.
  • retryOptions : خيارات إعادة المحاولة لجميع العمليات على العميل/المنتج/المستهلك.
    • maxRetries : عدد المرات التي يمكن فيها إعادة محاولة العملية في حالة حدوث خطأ قابل لإعادة المحاولة.
    • maxRetryDelayInMs: الحد الأقصى للتأخير بين عمليات إعادة المحاولة. ينطبق فقط عند إجراء عمليات إعادة المحاولة الأسية.
    • mode: وضع إعادة المحاولة الذي يجب تطبيقه، المحدد بواسطة RetryMode قائمة التعداد. الخيارات هي Exponential وFixed. الإعدادات الافتراضية لـ Fixed.
    • retryDelayInMs: مقدار الوقت للانتظار بالمللي ثانية قبل إجراء المحاولة التالية. عند mode تعيين إلى Exponential، يتم استخدام هذا لحساب التأخيرات المتزايدة بشكل كبير بين عمليات إعادة المحاولة. الافتراضي: 30000 مللي ثانية.
    • timeoutInMs: مقدار الوقت بالمللي ثانية للانتظار قبل انتهاء مهلة العملية. سيؤدي هذا إلى تشغيل إعادة المحاولة إذا كانت هناك أي محاولات إعادة محاولة متبقية. القيمة الافتراضية: 60000 مللي ثانية.

يمكن أن يكون { "maxRetries": 4 }الاستخدام البسيط هو .

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

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

مجموعة الخصائص التي تتضمن مركز الأحداث سلسلة الاتصال.

EventHubConsumerClientOptions

يصف الخيارات التي يمكن توفيرها أثناء إنشاء EventHubConsumerClient.

  • loadBalancingOptions: خيارات لضبط كيفية أقسام مطالبات EventHubConsumerClient.
  • userAgent : سلسلة لإلحاقها بسلسلة عامل المستخدم المضمنة التي يتم تمريرها كخاصية اتصال بالخدمة.
  • webSocketOptions : خيارات لتكوين قناة اتصال AMQP عبر مآخذ ويب.
    • websocket : الدالة الإنشائية WebSocket المستخدمة لإنشاء اتصال AMQP إذا اخترت إجراء الاتصال عبر WebSocket.
    • webSocketConstructorOptions : خيارات لتمريرها إلى منشئ Websocket عند اختيار إجراء الاتصال عبر WebSocket.
  • retryOptions : خيارات إعادة المحاولة لجميع العمليات على العميل/المنتج/المستهلك.
    • maxRetries : عدد المرات التي يمكن فيها إعادة محاولة العملية في حالة حدوث خطأ قابل لإعادة المحاولة.
    • maxRetryDelayInMs: الحد الأقصى للتأخير بين عمليات إعادة المحاولة. ينطبق فقط عند إجراء عمليات إعادة المحاولة الأسية.
    • mode: وضع إعادة المحاولة الذي يجب تطبيقه، المحدد بواسطة RetryMode قائمة التعداد. الخيارات هي Exponential وFixed. الإعدادات الافتراضية لـ Fixed.
    • retryDelayInMs: مقدار الوقت للانتظار بالمللي ثانية قبل إجراء المحاولة التالية. عند mode تعيين إلى Exponential، يتم استخدام هذا لحساب التأخيرات المتزايدة بشكل كبير بين عمليات إعادة المحاولة. الافتراضي: 30000 مللي ثانية.
    • timeoutInMs: مقدار الوقت بالمللي ثانية للانتظار قبل انتهاء مهلة العملية. سيؤدي هذا إلى تشغيل إعادة المحاولة إذا كانت هناك أي محاولات إعادة محاولة متبقية. القيمة الافتراضية: 60000 مللي ثانية.

يمكن أن يكون { "maxRetries": 4 }الاستخدام البسيط هو .

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

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

يصف معلومات وقت التشغيل لمركز الأحداث.

EventPosition

يمثل موضع حدث في قسم Event Hub، يستخدم عادة عند استدعاء subscribe() الأسلوب على EventHubConsumerClient لتحديد الموضع في القسم لبدء تلقي الأحداث منه.

للحصول على EventPosition يمثل بداية الدفق أو نهايته، استخدم الثوابت earliestEventPosition وعلى latestEventPosition التوالي.

GetEventHubPropertiesOptions

مجموعة الخيارات لتكوين سلوك getEventHubProperties.

  • abortSignal : تنفيذ الواجهة AbortSignalLike للإشارة إلى طلب إلغاء العملية.
  • parentSpan : أو SpanSpanContext لاستخدامه كامتداد parent تم إنشاؤه أثناء استدعاء هذه العملية.
GetPartitionIdsOptions

مجموعة الخيارات لتكوين سلوك getPartitionIds.

  • abortSignal : تنفيذ الواجهة AbortSignalLike للإشارة إلى طلب إلغاء العملية.
  • parentSpan : أو SpanSpanContext لاستخدامه كامتداد parent تم إنشاؤه أثناء استدعاء هذه العملية.
GetPartitionPropertiesOptions

مجموعة الخيارات لتكوين سلوك getPartitionProperties.

  • abortSignal : تنفيذ الواجهة AbortSignalLike للإشارة إلى طلب إلغاء العملية.
  • parentSpan : أو SpanSpanContext لاستخدامه كامتداد parent تم إنشاؤه أثناء استدعاء هذه العملية.
LastEnqueuedEventProperties

مجموعة من المعلومات حول آخر حدث مدرج في قائمة الانتظار لقسم، كما لاحظ المستهلك أثناء تلقي الأحداث من خدمة مراكز الأحداث

LoadBalancingOptions

حقيبة خيارات لتكوين إعدادات موازنة التحميل.

OnSendEventsErrorContext

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

OnSendEventsSuccessContext

يحتوي على الأحداث التي تم إرسالها بنجاح إلى Event Hub، والقسم الذي تم تعيينه إليه.

OperationOptions

خيارات لتكوين التتبع و abortSignal.

PartitionContext

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

PartitionOwnership

واجهة تمثل التفاصيل الخاصة بمثيل EventProcessor معالجة قسم معين من مجموعة مستهلكين لمثيل Event Hub.

ملاحظة: يتم استخدام هذا داخليا من قبل EventProcessor المستخدم ولا ينهى عن إنشائه مباشرة.

PartitionProperties

يصف معلومات وقت التشغيل لقسم EventHub.

ReceivedEventData

الواجهة التي تصف بنية الحدث المستلمة من Event Hub. استخدم هذا كمرجع عند إنشاء الدالة processEvents لمعالجة الأحداث المستلمة من Event Hub عند استخدام EventHubConsumerClient.

RetryOptions

خيارات نهج إعادة المحاولة التي تحدد الوضع وعدد مرات إعادة المحاولة والفاصل الزمني لإعادة المحاولة وما إلى ذلك.

SendBatchOptions

خيارات لتكوين sendBatch الأسلوب على EventHubProducerClient عند إرسال صفيف من الأحداث. إذا partitionId تم تعيين ، partitionKey يجب عدم تعيين والعكس صحيح.

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

خيارات لتكوين الأسلوب على subscribeEventHubConsumerClient. على سبيل المثال،⁧{ maxBatchSize: 20, maxWaitTimeInSeconds: 120, startPosition: { sequenceNumber: 123 } }

Subscription

الواجهة التي تصف الكائن الذي تم إرجاعه بواسطة subscribe() الأسلوب على EventHubConsumerClient.

SubscriptionEventHandlers

الواجهة التي تصف الوظائف التي سينفذها المستخدم والتي يتم استدعاؤها بواسطة EventHubConsumerClient عند subscribe() استدعاء الأسلوب لتلقي الأحداث من Event Hub.

TokenCredential

يمثل بيانات اعتماد قادرة على توفير رمز مميز للمصادقة.

TryAddOptions

خيارات لتكوين سلوك الأسلوب على tryAddEventDataBatch الفئة .

WebSocketImpl

يصف الشكل المطلوب لمنشئات WebSocket.

WebSocketOptions

خيارات لتكوين قناة اتصال AMQP عبر مآخذ ويب.

النوع أسماء مستعارة

ProcessCloseHandler

قام توقيع المستخدم بتوفير الدالة التي تم استدعاؤها بعد EventHubConsumerClient الإيقاف فقط لتلقي الأحداث من قسم.

ProcessErrorHandler

قام توقيع المستخدم بتوفير الدالة التي تم استدعاؤها بواسطة EventHubConsumerClient للأخطاء التي تحدث عند تلقي الأحداث أو عند تنفيذ أي من الدالات المقدمة من المستخدم التي تم تمريرها إلى subscribe() الأسلوب .

ProcessEventsHandler

توقيع الدالة المقدمة من المستخدم التي تم استدعاؤها بواسطة EventHubConsumerClient عند تلقي مجموعة من الأحداث.

ProcessInitializeHandler

قام توقيع المستخدم بتوفير الدالة التي تم استدعاؤها قبل EventHubConsumerClient البدء في تلقي الأحداث من قسم.

التعدادات

CloseReason

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

RetryMode

يصف نوع وضع إعادة المحاولة

الوظائف

createEventDataAdapter(EventDataAdapterParameters)

دالة تنشئ محول بيانات الحدث. يمكن استخدام هذا المحول مع @azure/schema-registry-avro لترميز النص الأساسي وفك ترميزه في بيانات الحدث.

parseEventHubConnectionString(string)

التحليلات المعطاة سلسلة الاتصال في الخصائص المختلفة المطبقة على Azure Event Hubs. الخصائص مفيدة لإنشاء EventHubProducerClient أو EventHubConsumerClient.

تفاصيل الوظيفة

createEventDataAdapter(EventDataAdapterParameters)

دالة تنشئ محول بيانات الحدث. يمكن استخدام هذا المحول مع @azure/schema-registry-avro لترميز النص الأساسي وفك ترميزه في بيانات الحدث.

function createEventDataAdapter(params?: EventDataAdapterParameters): MessageAdapter<EventData>

المعلمات

params
EventDataAdapterParameters

معلمات لإنشاء بيانات الحدث

المرتجعات

MessageAdapter<EventData>

محول بيانات الحدث الذي يمكنه إنتاج بيانات الحدث واستهلاكها

parseEventHubConnectionString(string)

التحليلات المعطاة سلسلة الاتصال في الخصائص المختلفة المطبقة على Azure Event Hubs. الخصائص مفيدة لإنشاء EventHubProducerClient أو EventHubConsumerClient.

function parseEventHubConnectionString(connectionString: string): Readonly<EventHubConnectionStringProperties>

المعلمات

connectionString

string

سلسلة الاتصال المقترن بنهج الوصول المشترك الذي تم إنشاؤه لمساحة اسم مراكز الأحداث.

المرتجعات