المفاتيح والقيم

يخزن Azure App Configuration بيانات التكوين باعتبارها أزواجاً لقيم المفاتيح. القيم المفاتيح هي تمثيل بسيط ومرنة لإعدادات التطبيق المستخدمة من قبل المطورين.

المفاتيح

تعمل المفاتيح باعتبارها أزواج قيم المفاتيح وتُستخدم لتخزين واسترداد القيم المقابلة. من الممارسات الشائعة تنظيم المفاتيح في مساحة أسماء هرمية باستخدام محدِّد الأحرف، مثل / أو :. استخدام الاتفاقية الأنسب لتطبيقك. تتعامل خدمة App Configuration مع المفاتيح ككل. لا تحلل المفاتيح لمعرفة كيفية هيكلة أسمائها أو فرض أي قاعدة عليها.

فيما يلي مثال على أسماء المفاتيح المصنفة في تسلسل هرمي استنادًا إلى الخدمات المكونة:

    AppName:Service1:ApiEndpoint
    AppName:Service2:ApiEndpoint

قد يفرض استخدام بيانات التكوين داخل أطر عمل التطبيق أنظمة تسمية محددة لقيم المفاتيح. على سبيل المثال، يحدد إطار عمل Java Spring Cloud الموارد Environment التي توفر الإعدادات لتطبيق Spring. يتم التعبير عن هذه المعلمات عبر الحدود عن طريق المتغيرات التي تتضمن اسم التطبيق وملف التعريف. تبدأ مفاتيح بيانات التكوين ذات الصلة بـ Spring Cloud عادةً بهذين العنصرين مفصولين بمحدد.

المفاتيح المخزنة في "App Configuration" هي سلاسل حساسة لحالة الأحرف، تستند إلى Unicode. المفتاحان app1 و App1 متميزان في مخزن App Configuration. ضع ذلك في الاعتبار عند استخدام إعدادات التكوين داخل أحد التطبيقات لأن بعض إطارات العمل تتعامل مع مفاتيح التكوين بصورةٍ غير حساسة لحالة الأحرف. لا نوصي باستخدام حالة الأحرف للتمييز بين المفاتيح.

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

تصميم مساحات أسماء المفاتيح

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

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

يمكنك تنظيم المفاتيح في تكوين التطبيق هرمياً بعدة طرق. فكر في مفاتيح مثل URIs. كل مفتاح هرمي هو مسار مورد يتألف من مكون واحد أو أكثر من المكونات التي يتم ربطها معاً بواسطة المحددات. اختر الحرف الذي يجب استخدامه كمحدد استناداً إلى ما يحتاجه التطبيق أو لغة البرمجة أو إطار العمل. استخدم محددات متعددة لمفاتيح مختلفة في تكوين التطبيق.

مفاتيح التسمية

قد تحتوي القيم الأساسية في App Configuration اختيارياً على سمة التسمية. تُستخدم التسميات لتمييز قيم المفاتيح باستخدام نفس المفتاح. مفتاح app1 مع التسميات A و Bيشكل مفتاحين منفصلين في مخزن App Configuration. بشكلٍ افتراضي، لا تحتوي قيمة المفتاح على تسمية. للإشارة صراحة إلى قيمة مفتاح دون تسمية، استخدم \0 (عنوان URL مرمز باسم %00).

توفر تسمية طريقة ملائمة لإنشاء متغيرات لأحد المفاتيح. الاستخدام الشائع للتسميات هو تحديد بيئات متعددة لنفس المفتاح:

    Key = AppName:DbEndpoint & Label = Test
    Key = AppName:DbEndpoint & Label = Staging
    Key = AppName:DbEndpoint & Label = Production

قيم مفتاح الإصدار

استخدام التسميات باعتبارها طريقة لإنشاء إصدارات متعددة من قيمة مفتاح. على سبيل المثال، يمكنك إدخال رقم إصدار تطبيق أو معرّف تثبيت Git في التسميات لتحديد قيم المفاتيح المقترنة ببناء برنامج معين.

إشعار

إذا كنت تبحث عن إصدارات التغيير، فإن تكوين التطبيق يحتفظ بجميع تغييرات قيمة المفتاح التي حدثت في الفترة الزمنية السابقة تلقائيًا. لمزيد من المعلومات، راجع لقطة في الوقت المناسب.

قيم مفاتيح الاستعلام

تُعرَّف كل قيمة مفتاح تعريفاً فريداً بواسطة مفتاحها بالإضافة إلى تسمية يمكن أن تكون \0. يمكنك الاستعلام عن مخزن App Configuration للقيم الأساسية عن طريق تحديد نمط. يعرض مخزن "App Configuration" جميع القيم الأساسية التي تطابق النمط بما في ذلك القيم والسمات المقابلة لها. استخدم الأنماط الرئيسية التالية في استدعاءات REST API لتكوين التطبيق:

مفتاح ‏‏الوصف
تم حذف key أو key=* يطابق جميع المفاتيح.
key=abc يطابق اسم abc المفتاح تماما.
key=abc* يطابق أسماء المفاتيح التي تبدأ ب abc.
key=abc,xyz يطابق أسماء abc المفاتيح أو xyz. يقتصر على خمسة CSVs.

يمكنك أيضاً تضمين أنماط التسمية التالية:

تسمية ‏‏الوصف
تم حذف label أو label=* يُطابق أي تسمية، والتي تتضمن \0.
label=%00 يُطابق التسمية \0.
label=1.0.0 يطابق التسمية 1.0.0 تماما.
label=1.0.* يطابق التسميات التي تبدأ ب 1.0..
label=%00,1.0.0 يطابق التسميات \0 أو 1.0.0، يقتصر على خمسة CSVs.

إشعار

*، و,، و\ هي أحرف محجوزة في الاستعلامات. إذا تم استخدام حرف محجوز في أسماء المفاتيح أو التسميات، يجب عليك تخطيه باستخدام \{Reserved Character} في الاستعلامات.

القيم

القيم المُعينة للمفاتيح هي أيضاً سلاسل unicode. يمكنك استخدام جميع أحرف unicode للقيم.

استخدام نوع المحتوى

تحتوي كل قيمة مفتاح في تكوين التطبيق على سمة نوع المحتوى. يمكنك استخدام هذه السمة اختيارياً لتخزين معلومات بشأن نوع القيمة في قيمة مفتاح تساعد تطبيقك على معالجتها بشكلٍ صحيح. يمكنك استخدام أي تنسيق لنوع المحتوى. يستخدم تكوين التطبيق أنواع الوسائط (المعروفة أيضاً باسم أنواع MIME) لأنواع البيانات المضمنة مثل علامات الميزات ومراجع Key Vault وقيم مفاتيح JSON.

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