Anahtarlar ve değerler
Azure Uygulama Yapılandırması yapılandırma verilerini anahtar-değer olarak depolar. Anahtar-değerler, geliştiriciler tarafından kullanılan uygulama ayarlarının basit ve esnek bir gösterimidir.
Anahtarlar
Anahtarlar, anahtar-değerler için tanımlayıcı görevi görür ve karşılık gelen değerleri depolamak ve almak için kullanılır. Veya gibi /
:
bir karakter sınırlayıcısı kullanarak anahtarları hiyerarşik ad alanında düzenlemek yaygın bir uygulamadır. Uygulamanıza en uygun kuralı kullanın. Uygulama Yapılandırması anahtarları bir bütün olarak ele alır. Adlarının nasıl yapılandırıldığına karar vermek veya üzerinde herhangi bir kural uygulamak için anahtarları ayrıştırmaz.
Aşağıda, bileşen hizmetlerini temel alan bir hiyerarşide yapılandırılmış anahtar adları örneği verilmiştir:
AppName:Service1:ApiEndpoint
AppName:Service2:ApiEndpoint
Uygulama çerçeveleri içinde yapılandırma verilerinin kullanılması, anahtar-değerler için belirli adlandırma düzenlerini dikte edebilir. Örneğin, Java'nın Spring Cloud çerçevesi bir Spring uygulamasına ayar sağlayan kaynakları tanımlar Environment
. Bu kaynaklar , uygulama adı ve profili içeren değişkenler tarafından parametrelendirilir. Spring Cloud ile ilgili yapılandırma verilerinin anahtarları genellikle bir sınırlayıcıyla ayrılmış bu iki öğeyle başlar.
Uygulama Yapılandırması depolanan anahtarlar büyük/küçük harfe duyarlı, unicode tabanlı dizelerdir. App1 ve App1 tuşları bir Uygulama Yapılandırması mağazasında birbirinden farklıdır. Bazı çerçeveler yapılandırma anahtarlarını büyük/küçük harfe duyarsız şekilde işlediği için, uygulama içinde yapılandırma ayarlarını kullanırken bunu göz önünde bulundurun. Anahtarları ayırt etmek için büyük/küçük harf kullanılmasını önermiyoruz.
anahtar adlarında dışında %
herhangi bir unicode karakteri kullanabilirsiniz. Anahtar adı ya da ..
olamaz.
. Anahtar-değer üzerinde 10 KB'lık birleşik boyut sınırı vardır. Bu sınır anahtardaki tüm karakterleri, değerini ve ilişkili tüm isteğe bağlı öznitelikleri içerir. Bu sınır içinde anahtarlar için birçok hiyerarşik düzeye sahip olabilirsiniz.
Anahtar ad alanlarını tasarlama
Yapılandırma verileri için adlandırma anahtarları için iki genel yaklaşım kullanılır: düz veya hiyerarşik. Bu yöntemler uygulama kullanımı açısından benzerdir, ancak hiyerarşik adlandırma birçok avantaj sunar:
- Daha kolay okunur. Hiyerarşik anahtar adındaki sınırlayıcılar, tümcede boşluk işlevi görür. Ayrıca sözcükler arasında doğal kesmeler de sağlarlar.
- Daha kolay yönetilebilir. Anahtar adı hiyerarşisi, yapılandırma verilerinin mantıksal gruplarını temsil eder.
- Kullanımı daha kolaydır. Hiyerarşik bir yapıdaki anahtarlarla eşleşen ve yapılandırma verilerinin yalnızca bir bölümünü alan bir sorgu yazmak daha kolaydır. Ayrıca, daha yeni birçok programlama çerçevesi, uygulamanızın belirli yapılandırma kümelerini kullanabilmesi için hiyerarşik yapılandırma verileri için yerel desteğe sahiptir.
Anahtarları Uygulama Yapılandırması hiyerarşik olarak birçok şekilde düzenleyebilirsiniz. Bu tür anahtarları URI olarak düşünün. Her hiyerarşik anahtar, sınırlayıcılar tarafından birleştirilen bir veya daha fazla bileşenden oluşan bir kaynak yoludur . Uygulamanızın, programlama dilinizin veya çerçevenizin neye ihtiyaç duyduğuna bağlı olarak sınırlayıcı olarak kullanılacak karakteri seçin. Uygulama Yapılandırması'da farklı anahtarlar için birden çok sınırlayıcı kullanın.
Etiket anahtarları
Uygulama Yapılandırması anahtar değerleri isteğe bağlı olarak bir etiket özniteliğine sahip olabilir. Etiketler, anahtar değerlerini aynı anahtarla ayırt etmek için kullanılır.
A ve B etiketlerine sahip bir anahtar uygulaması1, bir Uygulama Yapılandırması deposunda iki ayrı anahtar oluşturur. Varsayılan olarak, bir anahtar-değerin etiketi yoktur. Etiket olmadan bir anahtar-değere açıkça başvurmak için kullanın \0
(URL olarak %00
kodlanmış).
Etiket, bir anahtarın değişkenlerini oluşturmak için kullanışlı bir yol sağlar. Etiketlerin yaygın kullanımlarından biri, aynı anahtar için birden çok ortam belirtmektir:
Key = AppName:DbEndpoint & Label = Test
Key = AppName:DbEndpoint & Label = Staging
Key = AppName:DbEndpoint & Label = Production
Sürüm anahtarı-değerleri
Bir anahtar-değerin birden çok sürümünü oluşturmanın bir yolu olarak etiketleri kullanın. Örneğin, belirli bir yazılım derlemesiyle ilişkili anahtar değerlerini tanımlamak için etiketlere bir uygulama sürüm numarası veya Git işleme kimliği girebilirsiniz.
Not
Değişiklik sürümlerini arıyorsanız, Uygulama Yapılandırması son belirli bir süre içinde gerçekleşen anahtar-değerdeki tüm değişiklikleri otomatik olarak tutar. Daha fazla bilgi için bkz. belirli bir nokta anlık görüntüsü.
Anahtar-değerleri sorgulama
Her anahtar-değer, anahtarıyla ve etiketiyle \0
benzersiz olarak tanımlanır. Bir desen belirterek anahtar-değerler için bir Uygulama Yapılandırması deposunu sorgularsınız. Uygulama Yapılandırması deposu, karşılık gelen değerleri ve öznitelikleri de dahil olmak üzere desenle eşleşen tüm anahtar değerlerini döndürür. Uygulama Yapılandırması için REST API çağrılarında aşağıdaki temel desenleri kullanın:
Anahtar | Description |
---|---|
key atlanır veya key=* |
Tüm tuşlar ile eşleşir. |
key=abc |
Anahtar adıyla abc tam olarak eşleşir. |
key=abc* |
ile başlayan anahtar adlarıyla abc eşleşir. |
key=abc,xyz |
Anahtar adları abc veya xyz ile eşleşir. Beş CSV ile sınırlıdır. |
Ayrıca aşağıdaki etiket desenlerini de ekleyebilirsiniz:
Etiketle | Açıklama |
---|---|
label atlanır veya label=* |
içeren herhangi bir etiketle eşleşir \0 . |
label=%00 |
Etiketle eşleşir \0 . |
label=1.0.0 |
Etiketle 1.0.0 tam olarak eşleşir. |
label=1.0.* |
ile başlayan etiketlerle 1.0. eşleşir. |
label=%00,1.0.0 |
Etiketlerle \0 veya 1.0.0 ile eşleşir ve beş CSV ile sınırlıdır. |
Not
*
, ,
ve \
sorguların ayrılmış karakterleridir. Anahtar adlarınızda veya etiketlerinizde ayrılmış bir karakter kullanılıyorsa, sorgularda kullanarak \{Reserved Character}
bu karakterden kaçmalısınız.
Değerler
Anahtarlara atanan değerler de unicode dizelerdir. Değerler için tüm unicode karakterleri kullanabilirsiniz.
İçerik türünü kullanma
Uygulama Yapılandırması'daki her anahtar-değerin bir içerik türü özniteliği vardır. İsteğe bağlı olarak bu özniteliği kullanarak değer türüyle ilgili bilgileri uygulamanızın düzgün işlemesine yardımcı olan bir anahtar-değerde depolayabilirsiniz. İçerik türü için herhangi bir biçimi kullanabilirsiniz. Uygulama Yapılandırması özellik bayrakları, Key Vault başvuruları ve JSON anahtar değerleri gibi yerleşik veri türleri için Medya Türlerini (MIME türleri olarak da bilinir) kullanır.