كيفية تعطيل الدوال في وظائف Azure

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

يمكنك تعطيل وظيفة في مكانها عن طريق إنشاء إعداد تطبيق بالتنسيق الذي AzureWebJobs.<FUNCTION_NAME>.Disabled تم تعيينه إلى true. يمكنك إنشاء وتعديل إعداد التطبيق هذا بعدة طرق، بما في ذلك باستخدام Azure CLI وAzure PowerShell ومن علامة التبويب نظرة عامة على الدالة في مدخل Microsoft Azure.

تؤدي التغييرات في إعدادات التطبيق إلى إعادة تشغيل تطبيق الوظائف. لمزيد من المعلومات، راجع مرجع إعدادات التطبيق لدالات Azure.

تعطيل دالة

استخدم أحد هذه الأوضاع لإنشاء إعداد تطبيق يعطل دالة مثال باسم QueueTrigger:

استخدم الزرين تمكينوتعطيل في صفحة نظرة عامة على الدالة. تعمل هذه الأزرار بتغيير قيمة AzureWebJobs.QueueTrigger.Disabled إعداد التطبيق. يتم إنشاء إعداد التطبيق الخاص بالدالة في المرة الأولى التي يتم فيها تعطيل وظيفة.

Function state switch

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

إشعار

لا يزال من الممكن تشغيل الدالات المعطلة عن طريق استدعاء نقطة نهاية REST باستخدام مفتاح رئيسي. لمعرفة المزيد، راجع تشغيل دالة معطل. وهذا يعني أن وظيفة معطلة لا تزال قيد التشغيل عند البدء من نافذة Test/Run في المدخل باستخدام المفتاح الرئيسي (مفتاح المضيف).

تعطيل الوظائف في فتحة

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

لتعطيل دالة ما فقط في فتحة التدريج:

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

يمكنك أيضًا إضافة إعداد التطبيق المسمى AzureWebJobs.<FUNCTION_NAME>.Disabled بالقيمة true في التكوين لمثيل الفتحة مباشرة. عند إضافة إعداد تطبيق خاص بالفتحة، تأكد من تحديد مربع إعداد فتحة النشر. يحافظ هذا الخيار على قيمة الإعداد مع الفتحة أثناء التبديل.

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

تشغيل دالة معطل

لا يزال بإمكانك أن تتسبب في تشغيل دالة معطلة عن طريق توفير المفتاح الرئيسي في طلب REST إلى عنوان URL لنقطة النهاية للدالة المعطلة. بهذه الطريقة، يمكنك تطوير الدالات والتحقق من صحتها في Azure في حالة تعطيل مع منع الوصول إليها من قبل الآخرين. يؤدي استخدام أي نوع آخر من المفاتيح في الطلب إلى إرجاع استجابة HTTP 404.

تنبيه

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

لمعرفة المزيد حول المفتاح الرئيسي، راجع الحصول على المفاتيح. لمعرفة المزيد حول استدعاء الوظائف التي تم تشغيلها بدون HTTP، راجع تشغيل دالة غير مشغلة من HTTP يدويا.

تعطيل الوظائف محليا

يمكن تعطيل الدوال بنفس الطريقة عند التشغيل محليًّا. لتعطيل دالة مسماةQueueTrigger، أضف إدخال إلى مجموعة القيم في ملف local.settings.json، على النحو التالي:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true", 
    "AzureWebJobs.QueueTrigger.Disabled": true
  }
}

الاعتبارات

ضع الاعتبارات التالية في الاعتبار عند تعطيل الوظائف:

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

  • في هذا الوقت، لا يمكن تعطيل أسماء الوظائف التي تحتوي على واصلة (-) عند التشغيل على Linux. إذا كنت تخطط لتعطيل وظائفك عند التشغيل على Linux، فلا تستخدم الواصلات في أسماء الوظائف الخاصة بك.

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

هذه المقالة حول تعطيل المشغلات التلقائية. لمزيد من المعلومات حول المشغلات، راجع المشغلات والروابط.