SubscriptionEventHandlers interface

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

الخصائص

processClose

الدالة التي يتم استدعاؤها بواسطة EventHubConsumerClient كل مرة يتوقف فيها الاشتراك عن قراءة الأحداث من قسم. ستتوفر المعلومات الموجودة في هذا القسم على الذي PartitionContext تم تمريره إلى الدالة processClose.

إذا كان الذي CloseReason تم تمريره إلى هذه الدالة هو OwnershipLost، فقد تولى اشتراك آخر القراءة من نفس القسم باستخدام نفس مجموعة المستهلكين. هذا متوقع إذا كان لديك مثيلات متعددة من التطبيق الخاص بك قيد التشغيل وقمت بتمرير CheckpointStore إلى العميل لموازنة التحميل.

CloseReason إذا كان هو Shutdown، فهذا يشير إلى أنه subscription.close() تم استدعاء أو حدث خطأ. ما لم يتم إغلاق الاشتراك بشكل صريح عبر subscription.close()، سيحاول الاشتراك استئناف قراءة الأحداث من نقطة التحقق الأخيرة للقسم.

processError

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

PartitionContext سيشير التمرير إلى هذه الدالة إلى القسم الذي كان تتم معالجته عند طرح الخطأ. في الحالات التي يتم فيها طرح خطأ خارج معالجة الأحداث من قسم (على سبيل المثال، الفشل في إجراء موازنة التحميل)، partitionId سيكون في السياق سلسلة فارغة.

بعد أن يكمل العميل تنفيذ هذه الدالة، يتم استدعاء الدالة partitionClose .

processEvents

الدالة التي يتم استدعاؤها بواسطة EventHubConsumerClient عند تلقي مجموعة من الأحداث. PartitionContext يمكن استخدام الذي تم تمريره إلى هذه الدالة لتحديد القسم الذي تتم القراءة منه.

updateCheckpoint() يمكن استخدام الأسلوب في السياق لتحديث نقاط التحقق في CheckpointStore (إذا تم توفيرها للعميل). استخدم هذا في فواصل زمنية متكررة لوضع علامة على الأحداث التي تمت معالجتها بحيث يمكن للعميل إعادة التشغيل من نقاط التحقق هذه في حالة إعادة التشغيل أو استرداد الخطأ.

ملاحظة: من الممكن أن تكون الأحداث المستلمة صفيفا فارغا. يمكن أن يحدث هذا إذا لم تكن هناك أحداث جديدة لتلقيها في maxWaitTimeInSeconds، والذي يتم تعيينه افتراضيا إلى 60 ثانية. maxWaitTimeInSeconds يمكن تغيير عن طريق تعيينه في تمرير options إلى subscribe().

processInitialize

الدالة التي يتم استدعاؤها في EventHubConsumerClient كل مرة يكون فيها الاشتراك على وشك بدء القراءة من قسم. PartitionContext يمكن استخدام الذي تم تمريره إلى هذه الدالة لتحديد القسم الذي على وشك القراءة منه.

سيبدأ العميل في تلقي الأحداث للقسم فقط بعد إكمال تنفيذ هذه الدالة (إذا تم توفيرها). لذلك، استخدم هذه الدالة لتنفيذ أي عمل إعداد بما في ذلك المهام غير المتزامنة.

تفاصيل الخاصية

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

قيمة الخاصية