@azure/event-hubs package

الفصول

EventHubBufferedProducerClient

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

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

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

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

  • إذا تعطل التطبيق، فلن يتم نشر الأحداث في المخزن المؤقت. لمنع فقدان البيانات، يتم تشجيع المتصلين على تتبع تقدم النشر باستخدام معالجات onSendEventsSuccessHandleronSendEventsErrorHandler.
  • قد يتم تعيين قسم مختلف للأحداث التي تحدد مفتاح القسم عن تلك التي تستخدم نفس المفتاح مع منتجين آخرين.
  • في حالة عدم توفر القسم مؤقتا، قد يستغرق 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

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

BufferedFlushOptions

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

Checkpoint

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

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

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

CheckpointStore

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

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

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

CreateBatchOptions

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

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

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

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

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

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. الخيارات هي ExponentialFixed. الإعدادات الافتراضية Fixed.
    • retryDelayInMs: مقدار الوقت للانتظار بالمللي ثانية قبل إجراء المحاولة التالية. عند تعيين mode إلى Exponential، يتم استخدام هذا لحساب التأخيرات المتزايدة بشكل كبير بين عمليات إعادة المحاولة. الافتراضي: 30000 مللي ثانية.
    • timeoutInMs: مقدار الوقت بالمللي ثانية للانتظار قبل انتهاء مهلة العملية. سيؤدي هذا إلى إعادة المحاولة إذا كانت هناك أي محاولات إعادة محاولة متبقية. القيمة الافتراضية: 60000 مللي ثانية.

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

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

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubConnectionStringProperties

مجموعة الخصائص التي تشكل سلسلة اتصال Event Hub.

EventHubConsumerClientOptions

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

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

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

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

{
    retryOptions: {
        maxRetries: 4
    }
}
EventHubProperties

توضح هذه المقالة معلومات وقت التشغيل لمركز الأحداث.

EventPosition

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

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

GetEventHubPropertiesOptions

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

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

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

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

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

  • abortSignal : تنفيذ واجهة AbortSignalLike للإشارة إلى طلب إلغاء العملية.
  • parentSpan : Span أو SpanContext لاستخدامها ك 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

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

Subscription

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

SubscriptionEventHandlers

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

TokenCredential

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

TryAddOptions

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

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. الخصائص مفيدة لإنشاء EventHubProducerClient أو EventHubConsumerClient.

المتغيرات

earliestEventPosition

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

latestEventPosition

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

logger

@azure/logger تكوين هذه الحزمة. هذا سيخرج السجلات باستخدام azure:event-hubs بادئة مساحة الاسم.

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

createEventDataAdapter(EventDataAdapterParameters)

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

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

المعلمات

params
EventDataAdapterParameters

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

المرتجعات

MessageAdapter<EventData>

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

parseEventHubConnectionString(string)

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

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

المعلمات

connectionString

string

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

المرتجعات

Variable Details

earliestEventPosition

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

earliestEventPosition: EventPosition

النوع

latestEventPosition

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

latestEventPosition: EventPosition

النوع

logger

@azure/logger تكوين هذه الحزمة. هذا سيخرج السجلات باستخدام azure:event-hubs بادئة مساحة الاسم.

logger: AzureLogger

النوع