مشاركة عبر


البرنامج التعليمي: استخدام التكوين الديناميكي في تطبيق Azure Functions

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

في هذا البرنامج التعليمي، تتعلم كيفية:

  • إعداد تحديث التكوين الديناميكي لتطبيق Azure Functions.
  • تمكين التحديث التلقائي للتكوين باستخدام البرنامج الوسيط App Configuration.
  • استخدم أحدث تكوين في استدعاءات الوظائف عند حدوث تغييرات في متجر App Configuration.

المتطلبات الأساسية

إعادة تحميل البيانات من App Configuration

يدعم موفر Azure App Configuration .NET التخزين المؤقت والتحديث الديناميكي لإعدادات التكوين استنادا إلى نشاط التطبيق. في هذا القسم، يمكنك تكوين الموفر لتحديث الإعدادات ديناميكيا وتمكين التحديث التلقائي للتكوين باستخدام البرنامج الوسيط App Configuration، في Microsoft.Azure.AppConfiguration.Functions.Workerكل مرة يتم فيها تنفيذ وظيفة.

إشعار

يمكن استخدام Azure App Configuration مع Azure Functions إما في نموذج العامل المعزول أو النموذج قيد المعالجة. يستخدم هذا البرنامج التعليمي نموذج العامل المعزول كمثال. يمكنك العثور على أمثلة التعليمات البرمجية الكاملة لكلا النموذجين في مستودع Azure App Configuration GitHub.

  1. افتح ملف Program.cs وقم بتحديث الاستدعاء لتضمين AddAzureAppConfigurationConfigureRefresh الأسلوب . يقوم هذا الأسلوب بتكوين شروط تحديث إعدادات التكوين، بما في ذلك تحديد المفاتيح التي يجب مراقبتها والفاصل الزمني بين عمليات التحقق من التحديث.

    // 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 keys that start with `TestApp:` and have no label
               .Select("TestApp:*")
               // Reload configuration if any selected key-values have changed.
               // Use the default refresh interval of 30 seconds. It can be overridden via AzureAppConfigurationRefreshOptions.SetRefreshInterval.
               .ConfigureRefresh(refreshOptions =>
               {
                   refreshOptions.RegisterAll();
               });
    });
    

    يمكنك استدعاء RegisterAll الأسلوب لإرشاد موفر تكوين التطبيق لإعادة تحميل التكوين بأكمله كلما اكتشف تغييرا في أي من قيم المفاتيح المحددة (تلك التي تبدأ ب TestApp: وليس لها تسمية). لمزيد من المعلومات حول مراقبة تغييرات التكوين، راجع أفضل الممارسات لتحديث التكوين.

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

  2. قم بتحديث ملف Program.cs لتمكين التحديث التلقائي للتكوين عند تنفيذ كل وظيفة عن طريق إضافة البرنامج الوسيط App Configuration:

    // Connect to Azure App Configuration
    builder.Configuration.AddAzureAppConfiguration(options =>
    {
        // Omitted the code added in the previous step.
    });
    
    // Add Azure App Configuration middleware to the service collection.
    builder.Services.AddAzureAppConfiguration()
    
    // Use Azure App Configuration middleware for dynamic configuration refresh.
    builder.UseAzureAppConfiguration();
    
    builder.ConfigureFunctionsWebApplication();
    
    builder.Build().Run();
    

اختبِر الدالة محليًا

  1. تعيين متغير البيئة.

    قم بتعيين متغير البيئة المسمى 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>'
    
  2. لاختبار الدالة، اضغط على F5. إذا طلب منك ذلك، فاقبل الطلب من Visual Studio لتنزيل أدوات Azure Functions Core (CLI) وتثبيتها. قد تحتاج أيضًا إلى تمكين استثناء جدار حماية حيث يتسنى للأدوات معالجة طلبات HTTP.

  3. يُرجى نسخ عنوان URL الخاص بدالتك من إخراج وقت التشغيل في Azure Functions.

    تصحيح أخطاء دالة التشغيل السريع في VS

  4. الصق عنوان URL لطلب HTTP في شريط عناوين المستعرض. تعرض الصورة التالية الاستجابة في المستعرض لطلب GET المحلي الذي تم إرجاعه بواسطة الدالة .

    تشغيل دالة التشغيل السريع محليا

  5. حدد متجر App Configuration في مدخل Microsoft Azure وقم بتحديث قيمة المفتاح التالي في مستكشف التكوين.

    المفتاح القيمة
    TestApp:الإعدادات:رسالة البيانات من Azure App Configuration - محدثة
  6. قم بتحديث المستعرض عدة مرات. بعد مرور الفاصل الزمني الافتراضي للتحديث الذي مدته 30 ثانية، تعرض الصفحة القيمة المحدثة التي تم استردادها من تطبيق Azure Functions.

    تحديث دالة التشغيل السريع محليا

تنظيف الموارد

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

هام

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

  1. سجل الدخول إلى مدخل Microsoft Azure، وحدد Resource groups.
  2. في المربع تصفية حسب الاسم ، أدخل اسم مجموعة الموارد الخاصة بك.
  3. في قائمة النتائج، حدد اسم مجموعة الموارد لاستعراض نظرة عامة.
  4. حدد Delete resource group.
  5. يُطلب منك تأكيد حذف مجموعة الموارد. أدخل اسم مجموعة الموارد للتأكيد وحدد "Delete".

بعد بضع لحظات، يتم حذف مجموعة الموارد وكافة مواردها.

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

في هذا البرنامج التعليمي، قمت بتمكين تطبيق Azure Functions لتحديث إعدادات التكوين ديناميكيا من App Configuration.

لمعرفة كيفية استخدام علامات الميزات من Azure App Configuration داخل تطبيق Azure Functions، انتقل إلى البرنامج التعليمي التالي.

لمعرفة كيفية استخدام هوية مدارة من Azure لتبسيط الوصول إلى App Configuration، تابع البرنامج التعليمي التالي.