سرور بدون سرور عالی است و بدون سرور اینجا می ماند.
![غیرفعال کردن یک تابع در توابع Azure 1.x که از Visual Studio مستقر شده است](http://pezhvak24.ir/dl/10kcor/cscd/article/disabling-a-single-function-in-azure-functions-1-x-deployed-from-visual-studio/Images/Disabling A Single Function In Azure Functions 1.x Deployed From Visual Studio.png)
خوب، بدون اینکه در مورد اینکه چرا باید از معماری بدون سرور استفاده کنیم، به موضوع مورد بحث خواهم پرداخت.
توابع Azure 1.x
میپرسید مشکل غیرفعال کردن یک برنامه کاربردی چیست؟
به سادگی به تابع -> Manage بروید و وضعیت عملکرد را به "غیرفعال" برگردانید. آسان-پیزی!
![غیرفعال کردن یک تابع در توابع Azure 1.x که از Visual Studio مستقر شده است](http://pezhvak24.ir/dl/10kcor/cscd/article/disabling-a-single-function-in-azure-functions-1-x-deployed-from-visual-studio/Images/Disabling A Single Function In Azure Functions 1.x Deployed From Visual Studio2.jpg)
با این حال، این فقط برای توابعی که در پورتال Azure نوشته شده اند کار می کند. حال اجازه دهید با حقیقت روبرو شویم، کسی به سادگی با استفاده از ویرایشگر داخلی کدنویسی نمی کند.
همه ما را به سال های غار کدنویسی بدون هوشمندی می برد. (بسیار خوب، پورتال داخلی از هوشمندی خاصی برخوردار است، اما هر چه باشد، من با ویژوال استودیو راحت هستم و به این زودی از آن پوسته خارج نمی شوم!).
برای برنامههای تابع Azure 1.x که از ویژوال استودیو/کد ویژوال استودیو منتشر/استقرار شدهاند، به زودی متوجه میشویم که نمیتوانیم آنطور که نیاز داریم، توابع را انتخاب و غیرفعال کنیم. آخ!
![غیرفعال کردن یک تابع در توابع Azure 1.x که از Visual Studio مستقر شده است](http://pezhvak24.ir/dl/10kcor/cscd/article/disabling-a-single-function-in-azure-functions-1-x-deployed-from-visual-studio/Images/Disabling%20A%20Single%20Function%20In%20Azure%20Functions%201.x%20Deployed%20From%20Visual%20Studio3.jpg)
ما انسان های فانی به زودی متوجه شدیم که این یک عیب است و در مورد آن گریه و هوس بلند کردیم. مشکلات GitHub را که برای همین موضوع مطرح شده است در زیر ببینید:
- https://github.com/Azure/azure-functions-host/issues/1331
- https://github.com/Azure/azure-functions-host/issues/1846
اما خوشبختانه، برادر بزرگ به زودی وارد پرونده شد و راه انعطافپذیری را برای دستیابی به این هدف بدون نیاز به کامپایل و انتشار مجدد کد به ما نشان داد.
- https://docs.microsoft.com/en-us/azure/azure-functions/disable-function
راه حل
- یک متغیر محیطی جدید در settings.json ایجاد کنید که
نام آن را {MyFunctionName}_DISABLED گذاشتهام.
- Disableattribute را مطابق شکل زیر وارد کنید.
- اپلیکیشن تابع را منتشر کنید. همانطور که در زیر نشان داده شده است، اطمینان حاصل کنید که مقدار محلی منتشر شده است.
از اینجا همه چیز سرازیر است. برای غیرفعال کردن عملکرد،
- به برنامه عملکرد -> نمای کلی -> تنظیمات برنامه عملکرد بروید
- همانطور که نشان داده شده است به مدیریت تنظیمات برنامه بروید،
- تنظیمات برنامه ایجاد شده در مرحله 1 را ویرایش کنید. وقتی تنظیم برنامه روی true یا 1 تنظیم شود، عملکرد غیرفعال می شود.
با استفاده از روش فوق، میتوانیم عملکرد را با بهروزرسانی تنظیمات برنامه فعال و غیرفعال کنیم، بدون اینکه نیازی به کامپایل مجدد یا نصب مجدد برنامه باشد.
همانطور که در اسناد آمده است،
" تغییر تنظیمات برنامه باعث راه اندازی مجدد برنامه عملکرد می شود، بنابراین تغییر وضعیت غیرفعال بلافاصله تشخیص داده می شود. ”
Azure Functions 2.x
برای Azure Functions 2.x، میتوانید از سوئیچ حالت عملکرد در تب Manage تابع استفاده کنید، زیرا نسخه 2 مکانیزمی را بر اساس تنظیمات برنامه معرفی کرده است که به شما امکان میدهد بدون نیاز به استفاده از ویژگی غیرفعال مورد بحث در بالا، عملکردها را غیرفعال کنید.