SubscriptionEventHandlers interface
الواجهة التي تصف الوظائف التي سيتم تنفيذها من قبل المستخدم والتي يتم استدعاؤها بواسطة EventHubConsumerClient
عند subscribe()
استدعاء الأسلوب لتلقي الأحداث من Event Hub.
الخصائص
process |
الدالة التي يتم استدعاؤها بواسطة إذا كان الذي
|
process |
تم تمرير الدالة التي تم استدعاؤها بواسطة
بعد أن يكمل العميل تنفيذ هذه الدالة، يتم استدعاء الدالة |
process |
الدالة التي يتم استدعاؤها بواسطة
ملاحظة: من الممكن أن تكون الأحداث المستلمة صفيفا فارغا.
يمكن أن يحدث هذا إذا لم تكن هناك أحداث جديدة لتلقيها في |
process |
الدالة التي يتم استدعاؤها في سيبدأ العميل في تلقي الأحداث للقسم فقط بعد إكمال تنفيذ هذه الدالة (إذا تم توفيرها). لذلك، استخدم هذه الدالة لتنفيذ أي عمل إعداد بما في ذلك المهام غير المتزامنة. |
تفاصيل الخاصية
processClose
الدالة التي يتم استدعاؤها بواسطة EventHubConsumerClient
كل مرة يتوقف فيها الاشتراك عن قراءة الأحداث من قسم. ستتوفر المعلومات الموجودة في هذا القسم على الذي PartitionContext
تم تمريره إلى الدالة processClose
.
إذا كان الذي CloseReason
تم تمريره إلى هذه الدالة هو OwnershipLost
، فقد تولى اشتراك آخر القراءة من نفس القسم باستخدام نفس مجموعة المستهلكين. هذا متوقع إذا كان لديك مثيلات متعددة من التطبيق الخاص بك قيد التشغيل وقمت بتمرير CheckpointStore
إلى العميل لموازنة التحميل.
CloseReason
إذا كان هو Shutdown
، فهذا يشير إلى أنه subscription.close()
تم استدعاء أو حدث خطأ. ما لم يتم إغلاق الاشتراك بشكل صريح عبر subscription.close()
، سيحاول الاشتراك استئناف قراءة الأحداث من نقطة التحقق الأخيرة للقسم.
processClose?: ProcessCloseHandler
قيمة الخاصية
processError
تم تمرير الدالة التي تم استدعاؤها بواسطة EventHubConsumerClient
للأخطاء التي تحدث عند تلقي الأحداث أو عند تنفيذ أي من الدالات المقدمة من المستخدم إلى subscribe()
الأسلوب .
PartitionContext
سيشير التمرير إلى هذه الدالة إلى القسم الذي كان تتم معالجته عند طرح الخطأ. في الحالات التي يتم فيها طرح خطأ خارج معالجة الأحداث من قسم (على سبيل المثال، الفشل في إجراء موازنة التحميل)، partitionId
سيكون في السياق سلسلة فارغة.
بعد أن يكمل العميل تنفيذ هذه الدالة، يتم استدعاء الدالة partitionClose
.
processError: ProcessErrorHandler
قيمة الخاصية
processEvents
الدالة التي يتم استدعاؤها بواسطة EventHubConsumerClient
عند تلقي مجموعة من الأحداث.
PartitionContext
يمكن استخدام الذي تم تمريره إلى هذه الدالة لتحديد القسم الذي تتم القراءة منه.
updateCheckpoint()
يمكن استخدام الأسلوب في السياق لتحديث نقاط التحقق في CheckpointStore
(إذا تم توفيرها للعميل). استخدم هذا في فواصل زمنية متكررة لوضع علامة على الأحداث التي تمت معالجتها بحيث يمكن للعميل إعادة التشغيل من نقاط التحقق هذه في حالة إعادة التشغيل أو استرداد الخطأ.
ملاحظة: من الممكن أن تكون الأحداث المستلمة صفيفا فارغا.
يمكن أن يحدث هذا إذا لم تكن هناك أحداث جديدة لتلقيها في maxWaitTimeInSeconds
، والذي يتم تعيينه افتراضيا إلى 60 ثانية.
maxWaitTimeInSeconds
يمكن تغيير عن طريق تعيينه في تمرير options
إلى subscribe()
.
processEvents: ProcessEventsHandler
قيمة الخاصية
processInitialize
الدالة التي يتم استدعاؤها في EventHubConsumerClient
كل مرة يكون فيها الاشتراك على وشك بدء القراءة من قسم.
PartitionContext
يمكن استخدام الذي تم تمريره إلى هذه الدالة لتحديد القسم الذي على وشك القراءة منه.
سيبدأ العميل في تلقي الأحداث للقسم فقط بعد إكمال تنفيذ هذه الدالة (إذا تم توفيرها). لذلك، استخدم هذه الدالة لتنفيذ أي عمل إعداد بما في ذلك المهام غير المتزامنة.
processInitialize?: ProcessInitializeHandler