yapılandırma dosyaları için Azure Uygulaması Yapılandırma desteği
Dosyalar, yapılandırma verilerini depolamanın en yaygın yollarından biridir. Hızlı bir şekilde başlamanıza yardımcı olmak için Uygulama Yapılandırması yapılandırma dosyalarınızı içeri aktarmanıza yardımcı olacak araçlar vardır; böylece verilerinizi el ile yazmanız gerekmez. Verilerinizi içeri aktardıktan sonra Uygulama Yapılandırması yönetmeyi planlıyorsanız bu işlem tek seferlik bir veri geçişidir. Örneğin, yapılandırmayı kod olarak benimsediğiniz bazı diğer durumlarda, yapılandırma verilerinizi dosyalarda yönetmeye ve CI/CD işleminizin bir parçası olarak içeri aktarmaya devam edebilirsiniz. Bu iki senaryodan birinin sizin için geçerli olduğunu fark edebilirsiniz:
- Yapılandırma dosyasını daha önce kullandığınız biçimde tutarsınız. Bu biçim, dosyayı uygulamanızın geri dönüş yapılandırması veya geliştirme sırasında yerel yapılandırma olarak kullanmak istiyorsanız yararlıdır. Yapılandırma dosyasını içeri aktarırken, verilerin anahtar-değerlere nasıl dönüştürülmesini istediğinizi Uygulama Yapılandırması. Bu seçenek portal, Azure CLI, Azure Pipeline Push görevi, GitHub Actions vb. araçları içeri aktarma Uygulama Yapılandırması varsayılan dosya içerik profilidir.
- Yapılandırma dosyasını tüm Uygulama Yapılandırması anahtar-değer özelliklerini içeren biçimde tutarsınız. Dosyayı içeri aktarırken, anahtar-değerin tüm özellikleri zaten dosyada olduğundan herhangi bir dönüştürme kuralı belirtmeniz gerekmez. Bu seçenek, Uygulama Yapılandırması içeri aktarma araçlarında KVSet dosya içeriği profili olarak adlandırılır. Normal anahtar değerleri, Key Vault başvuruları ve özellik bayrakları dahil olmak üzere tüm Uygulama Yapılandırması verilerinizi tek bir dosyada yönetmek ve bunları tek bir çekimde içeri aktarmak istediğinizde yararlı olur.
Bu belgenin geri kalanında hem dosya içeriği profilleri ayrıntılı olarak ele alınır hem de örnek olarak Azure CLI kullanılır. Aynı kavram diğer Uygulama Yapılandırması içeri aktarma araçları için de geçerlidir.
Dosya içeriği profili: varsayılan
Uygulama Yapılandırması araçlarındaki varsayılan dosya içeriği profili, mevcut programlama çerçeveleri veya sistemleri tarafından yaygın olarak benimsenen geleneksel yapılandırma dosyası şemasını ifade eder. Uygulama Yapılandırması JSON, Yaml veya Özellikler dosya biçimlerini destekler.
Aşağıdaki örnek, bir yapılandırma ayarı ve bir özellik bayrağı içeren adlı appsettings.json
bir yapılandırma dosyasıdır.
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"FeatureManagement": {
"Beta": false
}
}
Aşağıdaki CLI komutunu çalıştırarak etiketiyle dev
Uygulama Yapılandırması içeri aktarın ve anahtar adını düzleştirmek için ayırıcı olarak iki nokta üst üste (:
) kullanın. İsteğe bağlı olarak "--profile appconfig/default" parametresini ekleyebilirsiniz. Varsayılan değer olduğundan örnekte atlanır.
az appconfig kv import --label dev --separator : --name <your store name> --source file --path appsettings.json --format json
Key Vault başvuruları içeri aktarma sırasında belirli bir içerik türünü gerektirdiği için bunları ayrı bir dosyada tutarsınız. Aşağıdaki örnek adlı keyvault-refs.json
bir dosyadır.
{
"Database:ConnectionString": {
"uri": "https://<your-vault-name>.vault.azure.net/secrets/db-secret"
}
}
Etiket ve Key Vault başvuru içerik türüyle içeri test
aktarmak için aşağıdaki CLI komutunu çalıştırın.
az appconfig kv import --label test --content-type "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8" --name <your store name> --source file --path keyvault-refs.json --format json
Aşağıdaki tabloda, Uygulama Yapılandırması deponuzdaki tüm içeri aktarılan veriler gösterilmektedir.
Anahtar | Değer | Etiket | İçerik türü |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Beta","description":"","enabled":false,"conditions":{"client_filters":[]}} | dev | application/vnd.microsoft.appconfig.ff+json; charset=utf-8 |
Günlüğe Kaydetme:LogLevel:Varsayılan | Uyarı | dev | |
Database:Bağlan ionString | {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} | test | application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8 |
Dosya içeriği profili: KVSet
Uygulama Yapılandırması araçlarındaki KVSet dosya içerik profili, anahtar, değer, etiket, içerik türü ve etiketler gibi Uygulama Yapılandırması anahtar değerinin tüm özelliklerini içeren bir dosya şemasına başvurur. Dosya JSON biçimindedir. Şema belirtimi için bkz . KVSet dosya şeması .
Aşağıdaki örnek, özellik bayrağı, appconfigdata.json
Key Vault başvurusu ve normal anahtar-değeri içeren adlı KVSet dosya içerik profilini temel alan bir dosyadır.
{
"items": [
{
"key": ".appconfig.featureflag/Beta",
"value": "{\"id\":\"Beta\",\"description\":\"Beta feature\",\"enabled\":true,\"conditions\":{\"client_filters\":[]}}",
"label": "dev",
"content_type": "application/vnd.microsoft.appconfig.ff+json;charset=utf-8",
"tags": {}
},
{
"key": "Database:ConnectionString",
"value": "{\"uri\":\"https://<your-vault-name>.vault.azure.net/secrets/db-secret\"}",
"label": "test",
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {}
},
{
"key": "Logging:LogLevel:Default",
"value": "Debug",
"label": "dev",
"content_type": null,
"tags": {}
}
]
}
İpucu
Önceki bölümdeki örneği izlediyseniz ve verileri Uygulama Yapılandırması deponuzda varsa, CLI komutunu kullanarak bir dosyaya aktarabilirsiniz:
az appconfig kv export --profile appconfig/kvset --label * --name <your store name> --destination file --path appconfigdata.json --format json
Dosya dışarı aktarıldıktan sonra özellik bayrağı özelliğini olarak güncelleştirin
Beta
ve olarak değiştirinDebug
Logging:LogLevel:Default
.true
enabled
Dosyayı Uygulama Yapılandırması deponuza aktarmak için "--profile appconfig/kvset" parametresiyle aşağıdaki CLI komutunu çalıştırın. Tüm bilgiler zaten dosyada olduğundan, varsayılan dosya içerik profili bölümünde yaptığınız gibi ayırıcı, etiket veya içerik türü gibi veri dönüştürme kuralları belirtmeniz gerekmez.
az appconfig kv import --profile appconfig/kvset --name <your store name> --source file --path appconfigdata.json --format json
Not
KVSet dosya içerik profili şu anda
- Azure CLI sürüm 2.30.0 veya üzeri
- Azure Uygulaması Yapılandırma Gönderme Görevi sürüm 3.3.0 veya üzeri
Aşağıdaki tabloda, Uygulama Yapılandırması deponuzdaki tüm içeri aktarılan veriler gösterilmektedir.
Anahtar | Değer | Etiket | İçerik türü |
---|---|---|---|
.appconfig.featureflag/Beta | {"id":"Beta","description":"Beta feature","enabled":true,"conditions":{"client_filters":[]}} | dev | application/vnd.microsoft.appconfig.ff+json; charset=utf-8 |
Günlüğe Kaydetme:LogLevel:Varsayılan | Hata Ayıklama | dev | |
Database:Bağlan ionString | {"uri":"https://< your-vault-name.vault.azure.net/secrets/db-secret>"} | test | application/vnd.microsoft.appconfig.keyvaultref+json; charset=utf-8 |