أنواع وميزات وظائف دائمة

تعد الدالات الدائمة امتداداً لـ مهام Azure. يمكنك استخدام الوظائف الدائمة للتنسيق المصحوب بالحالة لتنفيذ الوظيفة. تطبيق الوظائف المتين هو حل يتكون من وظائف Azure المختلفة. يمكن أن تلعب الوظائف أدوارًا مختلفة في تنسيق الوظائف المتينة.

يوجد حاليًا أربعة أنواع من الوظائف الدائمة في وظائف Azure: النشاط والمنظم والكيان والعميل. بقية هذا المقطع يذهب إلى مزيد من التفاصيل حول أنواع الوظائف المتضمنة في التزامن.

دالات المنسق

تصف دالات المنسق كيفية تنفيذ الإجراءات وترتيب تنفيذ الإجراءات. تصف دوال المنسق التنسيق في التعليمات البرمجية (C# أو JavaScript) كما هو موضح في أنماط تطبيق Durable Functions. يمكن أن يكون للتنسيق العديد من أنواع الإجراءات المختلفة، بما في ذلك وظائف النشاط والتزامنات الفرعية وانتظار الأحداث الخارجية وHTTP والموقتات. يمكن أن تتفاعل دوال المنسق أيضا مع وظائف الكيان.

إشعار

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

لمزيد من المعلومات التفصيلية حول وظائف المنسق وميزاتها، راجع مقالة التزامنات الدائمة .

Activity functions

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

على عكس دالات المنسق، لا يتم تقييد وظائف النشاط في نوع العمل الذي يمكنك القيام به فيها. تستخدم وظائف النشاط بشكل متكرر لإجراء مكالمات شبكة الاتصال أو تشغيل عمليات وحدة المعالجة المركزية المكثفة. يمكن لوظيفة نشاط أيضاً إرجاع البيانات إلى دالة المنسق. يضمن Durable Task Framework تنفيذ كل دالة نشاط تسمى مرة واحدة على الأقل أثناء تنفيذ التنسيق.

إشعار

نظرا لأن وظائف النشاط تضمن تنفيذا مرة واحدة على الأقل، نوصيك بجعل منطق دالة النشاط الخاص بك غير فعال كلما أمكن ذلك.

استخدم مشغل نشاط لتعريف دالة نشاط. .NET تتلقى دالات DurableActivityContext كمعلمة. يمكنك أيضاً ربط المشغل إلى أي كائن آخر JSON-serializeable لتمريرها في الإدخالات إلى الدالة. في JavaScript، يمكنك الوصول إلى إدخال عبر الخاصية <activity trigger binding name> على context.bindings العنصر . يمكن أن يكون لوظائف النشاط قيمة واحدة فقط تم تمريرها إليها. لتمرير قيم متعددة، يجب استخدام مجموعات أو صفائف أو أنواع معقدة.

إشعار

يمكنك تشغيل وظيفة نشاط فقط من وظيفة منسق.

وظائف الكيان

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

إشعار

وظائف الكيان والوظائف ذات الصلة متاحة فقط في الوظائف المتينة 2.0 وما فوق.

لمزيد من المعلومات حول وظائف الكيان، راجع مقالة الكيانات الدائمة.

دالات العميل

يتم تشغيل وظائف المنسق بواسطة ربط مشغل التزامن ويتم تشغيل وظائف الكيان بواسطة ربط مشغل الكيان. يعمل كلا المشغلين من خلال التفاعل مع الرسائل التي تم وضعها في قائمة الانتظار في مركز المهام. الطريقة الأساسية لتسليم هذه الرسائل هي باستخدام ربط عميل منسق أو ربط عميل كيان من داخل وظيفة العميل. يمكن أن تكون أي دالة غير منسقة دالة عميل. على سبيل المثال، يمكنك تشغيل المنسق من دالة مشغلة من HTTP، أو وظيفة مشغلة من Azure Event Hub، إلخ. ما يجعل دالة عميل هي استخدامها لربط إخراج العميل الدائم.

إشعار

بخلاف أنواع الوظائف الأخرى، لا يمكن تشغيل وظائف المنسق والكيان مباشرةً باستخدام الأزرار الموجودة في Azure Portal. إذا كنت ترغب في اختبار دالة منسق أو كيان في مدخل Microsoft Azure، يجب بدلا من ذلك تشغيل دالة عميل تبدأ دالة منسق أو كيان كجزء من تنفيذها. للحصول على تجربة اختبار أبسط، يوصى بوظيفة مشغل يدوي.

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

الخطوات التالية

للبدء، قم بإنشاء أول وظيفة دائمة في C#‎ أو JavaScript أو Python أو PowerShell أو Java.