كيفية تعطيل الدوال في وظائف Azure
توضح هذه المقالة كيفية تعطيل دالة في وظائف Azure. لتعطيل دالة يعني جعل وقت التشغيل يتجاهل الحدث المقصود منه تشغيل الدالة. تتيح لك هذه القدرة منع تشغيل دالة معينة دون الحاجة إلى تعديل وإعادة نشر تطبيق الدالة بأكمله.
يمكنك تعطيل وظيفة في مكانها عن طريق إنشاء إعداد تطبيق بالتنسيق الذي AzureWebJobs.<FUNCTION_NAME>.Disabled
تم تعيينه إلى true
. يمكنك إنشاء وتعديل إعداد التطبيق هذا بعدة طرق، بما في ذلك باستخدام Azure CLI وAzure PowerShell ومن علامة التبويب نظرة عامة على الدالة في مدخل Microsoft Azure.
تؤدي التغييرات في إعدادات التطبيق إلى إعادة تشغيل تطبيق الوظائف. لمزيد من المعلومات، راجع مرجع إعدادات التطبيق لدالات Azure.
تعطيل دالة
استخدم أحد هذه الأوضاع لإنشاء إعداد تطبيق يعطل دالة مثال باسم QueueTrigger
:
استخدم الزرين تمكينوتعطيل في صفحة نظرة عامة على الدالة. تعمل هذه الأزرار بتغيير قيمة AzureWebJobs.QueueTrigger.Disabled
إعداد التطبيق. يتم إنشاء إعداد التطبيق الخاص بالدالة في المرة الأولى التي يتم فيها تعطيل وظيفة.
حتى عند النشر إلى تطبيق الوظائف من مشروع محلي، لا يزال بإمكانك استخدام البوابة الإلكترونية لتعطيل الوظائف في تطبيق الوظائف.
إشعار
لا يزال من الممكن تشغيل الدالات المعطلة عن طريق استدعاء نقطة نهاية REST باستخدام مفتاح رئيسي. لمعرفة المزيد، راجع تشغيل دالة معطل. وهذا يعني أن وظيفة معطلة لا تزال قيد التشغيل عند البدء من نافذة Test/Run في المدخل باستخدام المفتاح الرئيسي (مفتاح المضيف).
تعطيل الوظائف في فتحة
بشكل افتراضي، تنطبق إعدادات التطبيق أيضًا على التطبيقات التي تعمل في فتحات النشر. ومع ذلك، يمكنك تجاوز إعداد التطبيق الذي تستخدمه الفتحة عن طريق تعيين إعداد تطبيق خاص بالفتحة. على سبيل المثال، قد ترغب في أن تكون الوظيفة نشطة في الإنتاج ولكن ليس أثناء اختبار التوزيع. من الشائع تعطيل الدوال التي يشغلها المؤقت في الفتحات لمنع عمليات التنفيذ المتزامنة.
لتعطيل دالة ما فقط في فتحة التدريج:
انتقل إلى مثيل الفتحة لتطبيق الوظائف الخاص بك عن طريق تحديد فتحات النشر ضمن النشر، واختيار الفتحة، وتحديد الوظائف في مثيل الفتحة. اختر الدالة، ثم استخدم الزرين تمكينوتعطيل في صفحة نظرة عامة على الدالة. تعمل هذه الأزرار بتغيير قيمة AzureWebJobs.<FUNCTION_NAME>.Disabled
إعداد التطبيق. يتم إنشاء هذا الإعداد الخاص بالدالة في المرة الأولى التي تقوم فيها بتعطيل الدالة.
يمكنك أيضًا إضافة إعداد التطبيق المسمى AzureWebJobs.<FUNCTION_NAME>.Disabled
بالقيمة true
في التكوين لمثيل الفتحة مباشرة. عند إضافة إعداد تطبيق خاص بالفتحة، تأكد من تحديد مربع إعداد فتحة النشر. يحافظ هذا الخيار على قيمة الإعداد مع الفتحة أثناء التبديل.
لمعرفة المزيد، راجع فتحات توزيع وظائف Azure.
تشغيل دالة معطل
لا يزال بإمكانك أن تتسبب في تشغيل دالة معطلة عن طريق توفير مفتاح الوصول الرئيسي (_master
) في طلب REST إلى عنوان URL لنقطة النهاية للدالة المعطلة. بهذه الطريقة، يمكنك تطوير الدالات والتحقق من صحتها في Azure في حالة تعطيل مع منع الوصول إليها من قبل الآخرين. يؤدي استخدام أي نوع آخر من المفاتيح في الطلب إلى إرجاع استجابة HTTP 404.
تنبيه
نظرا للأذونات المرتفعة في تطبيق الوظائف الذي تم منحه بواسطة المفتاح الرئيسي، يجب عدم مشاركة هذا المفتاح مع جهات خارجية أو توزيعه في تطبيقات العميل الأصلية. كن حذرا عند اختيار مستوى وصول HTTP المسؤول لنقاط نهاية الدالة.
لمعرفة المزيد حول المفتاح الرئيسي، راجع فهم المفاتيح. لمعرفة المزيد حول استدعاء الوظائف التي تم تشغيلها بدون HTTP، راجع تشغيل دالة غير مشغلة من HTTP يدويا.
تعطيل الوظائف محليا
يمكن تعطيل الدوال بنفس الطريقة عند التشغيل محليًّا. لتعطيل دالة مسماةQueueTrigger
، أضف إدخال إلى مجموعة القيم في ملف local.settings.json، على النحو التالي:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "python",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobs.QueueTrigger.Disabled": true
}
}
الاعتبارات
ضع الاعتبارات التالية في الاعتبار عند تعطيل الوظائف:
عند تعطيل دالة تم تشغيلها بواسطة HTTP باستخدام الأساليب الموضحة في هذه المقالة، لا يزال من الممكن الوصول إلى نقطة النهاية عند التشغيل على الكمبيوتر المحلي وفي المدخل.
في هذا الوقت، لا يمكن تعطيل أسماء الوظائف التي تحتوي على واصلة (
-
) عند التشغيل على Linux. إذا كنت تخطط لتعطيل وظائفك عند التشغيل على Linux، فلا تستخدم الواصلات في أسماء الوظائف الخاصة بك.
الخطوات التالية
هذه المقالة حول تعطيل المشغلات التلقائية. لمزيد من المعلومات حول المشغلات، راجع المشغلات والروابط.