إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا التشغيل السريع، يمكنك إنشاء تطبيق Azure Functions واستخدام علامات الميزات فيه. يمكنك استخدام إدارة الميزات من تكوين تطبيق Azure لتخزين جميع علامات الميزات بشكل مركزي، والتحكم في حالاتها.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط. أنشئ حسابًا مجانًا.
- متجر App Configuration، كما هو موضح في البرنامج التعليمي لإنشاء متجر.
- Visual Studio مع أحمال عمل تطوير Azure.
إضافة علامة ميزة
أضف علامة ميزة تسمى Beta إلى متجر App Configuration واترك Label and Description بقيمها الافتراضية. لمزيد من المعلومات حول كيفية إضافة علامات الميزات إلى متجر باستخدام مدخل Microsoft Azure أو CLI، انتقل إلى إنشاء علامة ميزة.
إنشاء تطبيق دالة
إنشاء تطبيق Azure Functions باستخدام Visual Studio عن طريق تحديد قالب Azure Functions (C#). يرشدك هذا القالب خلال تكوين الإعدادات الأساسية لمشروعك. للحصول على إرشادات مفصلة، راجع تطوير وظائف Azure باستخدام Visual Studio.
استخدم الجدول التالي كمرجع للمعلمات الرئيسية عند إنشاء تطبيق الوظائف.
| الإعداد | قيمة |
|---|---|
| عامل الوظائف | .NET 8.0 معزول |
| الدالة | مشغل HTTP |
| مستوى التخويل | مجهول |
إشعار
يمكن استخدام Azure App Configuration مع Azure Functions إما في نموذج العامل المعزول أو النموذج قيد المعالجة. يستخدم هذا التشغيل السريع نموذج العامل المعزول كمثال. يمكنك العثور على أمثلة التعليمات البرمجية الكاملة لكلا النموذجين في مستودع Azure App Configuration GitHub.
الاتصال بمخزن تكوين التطبيق
يمكنك الاتصال بمخزن App Configuration باستخدام معرف Microsoft Entra (مستحسن) أو سلسلة الاتصال.
حدد بزر الماوس الأيمن على المشروع، وحدد Manage NuGet Packages. في علامة التبويب استعراض ، ابحث عن أحدث إصدار مستقر من حزم NuGet التالية وأضفها إلى مشروعك.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Microsoft.FeatureManagement
- Azure.Identity
افتح Program.cs وقم بتحديث التعليمات البرمجية كما يلي. يمكنك إضافة Azure App Configuration كمصدر تكوين إضافي عن طريق استدعاء
AddAzureAppConfigurationالأسلوب .يمكنك استخدام
DefaultAzureCredentialللمصادقة على متجر App Configuration. اتبع الإرشادات لتعيين بيانات الاعتماد الخاصة بك دور قارئ بيانات تكوين التطبيق. تأكد من السماح بوقت كاف للإذن للنشر قبل تشغيل التطبيق الخاص بك.using Azure.Identity; using Microsoft.Azure.Functions.Worker.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Microsoft.FeatureManagement; var builder = FunctionsApplication.CreateBuilder(args); // Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all feature flags with no label. To load feature flags with specific keys and labels, set via FeatureFlagOptions.Select. // Use the default refresh interval of 30 seconds. It can be overridden via FeatureFlagOptions.SetRefreshInterval. .UseFeatureFlags(); });يوجه
UseFeatureFlags()الأسلوب الموفر لتحميل علامات الميزات. بشكل افتراضي، يتم تحميل جميع علامات الميزات بدون تسميات وتحديثها كل 30 ثانية. يتم تكوين سلوك التحديد والتحديث لعلامات الميزات بشكل مستقل عن قيم مفاتيح التكوين الأخرى. يمكنك تخصيص هذه السلوكيات عن طريق تمريرFeatureFlagOptionsإجراء إلىUseFeatureFlagsالأسلوب . يستخدمFeatureFlagOptions.Selectلتحديد المفاتيح والتسميات الخاصة بعلامات الميزات المراد تحميلها، واستخدامهاFeatureFlagOptions.SetRefreshIntervalلتجاوز الفاصل الزمني للتحديث الافتراضي.تلميح
إذا كنت لا تريد تحميل أي تكوين بخلاف علامات الميزات إلى تطبيقك، يمكنك الاتصال بـ
options.Select("_")لتحميل مفتاح وهمي غير موجود فقط"_". بشكل افتراضي، سيتم تحميل كافة قيم مفاتيح التكوين بدون تسميات في متجر App Configuration إذا لم يتم استدعاء أيSelectأسلوب.قم بتحديث ملف Program.cs لتمكين تحديث علامة الميزة التلقائية على تنفيذ كل وظيفة عن طريق إضافة البرنامج الوسيط Azure App Configuration. يمكنك أيضا تسجيل خدمة إدارة الميزات، ما يسمح لك بإدخالها واستخدامها في التعليمات البرمجية للوظيفة لاحقا.
// Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { // Omitted the code added in the previous step. }); // Add Azure App Configuration middleware and feature management to the service collection. builder.Services .AddAzureAppConfiguration() .AddFeatureManagement(); // Use Azure App Configuration middleware for dynamic configuration and feature flag refresh. builder.UseAzureAppConfiguration(); builder.ConfigureFunctionsWebApplication(); builder.Build().Run();افتح Function1.cs، وأضف مساحة الاسم التالية.
using Microsoft.FeatureManagement;تحديث الدالة الإنشائية للحصول على مثيل من
IVariantFeatureManagerSnapshotمن خلال إدخال التبعية.private readonly IVariantFeatureManagerSnapshot _featureManager; private readonly ILogger<Function1> _logger; public Function1(IVariantFeatureManagerSnapshot featureManager, ILogger<Function1> logger) { _featureManager = featureManager; _logger = logger; }Runتحديث الأسلوب لإرجاع رسالة استجابة استنادا إلى حالة علامة الميزة.[Function("Function1")] public async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) { _logger.LogInformation("C# HTTP trigger function processed a request."); // Read feature flag string featureName = "Beta"; bool featureEnabled = await _featureManager.IsEnabledAsync(featureName, req.HttpContext.RequestAborted); return new OkObjectResult(featureEnabled ? $"The Feature Flag '{featureName}' is turned ON!" : $"The Feature Flag '{featureName}' is turned OFF"); }
اختبِر الدالة محليًا
تعيين متغير البيئة.
قم بتعيين متغير البيئة المسمى AZURE_APPCONFIG_ENDPOINT إلى نقطة نهاية متجر App Configuration الموجود ضمن نظرة عامة على متجرك في مدخل Microsoft Azure.
إذا كنت تستخدم موجه الأوامر Windows، فشغل الأمر التالي، ثم أعد تشغيل موجه الأوامر للسماح للتغيير بتنفيذ الأمر:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"إذا كنت تستخدم PowerShell، فقم بتشغيل الأمر التالي:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"إذا كنت تستخدم macOS أو Linux، فقم بإجراء الأمر التالي:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'اضغط F5 لاختبار الدالة. إذا طُلب منك ذلك، فاقبل الطلب من Visual Studio لتنزيل وتثبيت أدوات Azure Functions Core (CLI). قد تحتاج أيضًا إلى تمكين استثناء جدار حماية حيث يتسنى للأدوات معالجة طلبات HTTP.
يُرجى نسخ عنوان URL الخاص بدالتك من إخراج وقت التشغيل في Azure Functions.
الصق عنوان URL لطلب HTTP في شريط عنوان المتصفح لديك. تظهر الصورة التالية الاستجابة التي تشير إلى تعطيل علامة الميزة Beta .
في مدخل Microsoft Azure، انتقل إلى متجر App Configuration. ضمن Operations، حدد Feature manager، وحدد موقع علامة ميزة Beta ، وقم بتعيين مفتاح التبديل Enabled إلى On.
قم بتحديث المتصفح عدة مرات. عند مرور نافذة وقت الفاصل الزمني للتحديث، تتغير الصفحة للإشارة إلى تشغيل علامة الميزة Beta ، كما هو موضح في الصورة.
تنظيف الموارد
إذا كنت لا تريد مواصلة استخدام الموارد التي تم إنشاؤها في هذه المقالة، يوصى بحذف مجموعة الموارد التي أنشأتها هنا لتجنب الرسوم.
هام
حذف مجموعة الموارد لا يمكن التراجع عنه. يتم حذف مجموعة الموارد وجميع الموارد المضمنة فيها نهائيًا. تأكد من عدم حذفك للموارد أو مجموعة المورد الخاطئة عن غير قصد. في حالة إنشاء الموارد لهذه المقالة داخل مجموعة موارد تشتمل على موارد أخرى تريد الاحتفاظ بها، احذف كل مورد على حدة من الجزء الخاص به بدلًا من حذف مجموعة الموارد.
- سجل الدخول إلى مدخل Microsoft Azure، وحدد Resource groups.
- في المربع تصفية حسب الاسم ، أدخل اسم مجموعة الموارد الخاصة بك.
- في قائمة النتائج، حدد اسم مجموعة الموارد لاستعراض نظرة عامة.
- حدد Delete resource group.
- يُطلب منك تأكيد حذف مجموعة الموارد. أدخل اسم مجموعة الموارد للتأكيد وحدد "Delete".
بعد بضع لحظات، يتم حذف مجموعة الموارد وكافة مواردها.
الخطوات التالية
في هذا التشغيل السريع، قمت بإنشاء علامة ميزة واستخدامها مع تطبيق Azure Functions.
للتشغيل الكامل للميزة لمكتبة إدارة ميزات .NET، تابع إلى المستند التالي.
لمعرفة المزيد حول إدارة علامات الميزات في Azure App Configuration، تابع إلى البرنامج التعليمي التالي.