appsettings.json ⇄ Ortam Değişkenleri

appsettings.json’u Docker, Kubernetes ve Azure için ortam değişkenlerine düzleştirin ya da onlardan yeniden oluşturun.

Yerelde çalışır · hiçbir şey yüklenmez
appsettings.json
.env

Ne işe yarar?

ASP.NET Core, appsettings.json dosyasını ve ortam değişkenlerini aynı yapılandırma ağacına okur. İç içe bölümler Logging:LogLevel:Default gibi anahtarlara dönüşür, dizi öğeleri bir dizin alır (Cors:AllowedOrigins:0). Ortam değişkeni adlarında : yerine __ yazılır. Bu araç, siz yazarken bu dönüşümü iki yönde de yapar.

Özellikler

  • Çıktı biçimleri: .env, Docker Compose environment:, Kubernetes env: listesi, “Advanced edit” için Azure App Service JSON’u (name / value / slotSetting), PowerShell $env:, bash export, launchSettings.json, dotnet user-secrets set komutları ve düz .NET anahtarları.
  • Gerçek dosyaları okur: appsettings.json içindeki yorumlar ve sondaki virgüller kabul edilir. .NET yinelenen anahtarları yüklemeyi reddettiği için bunlar satır numarasıyla bildirilir.
  • Önekler: AddEnvironmentVariables("MYAPP_") için MYAPP_ gibi bir önek ekleyin. Ters yönde, öneki olmayan değişkenler sağlayıcının yaptığı gibi yok sayılır.
  • Gizli bilgi tespiti: Password, Secret, ApiKey, Token, SigningKey gibi anahtarlar ve ConnectionStrings altındaki her şey işaretlenir. Bunlar dışarıda bırakılabilir ya da Kubernetes secretKeyRef girdileri, Key Vault referansları veya ${VAR} yer tutucularıyla değiştirilebilir.
  • Ters yön: değişkenleri yukarıdaki biçimlerden herhangi birinde, hatta karışık olarak yapıştırın. Diziler, birleştirilmiş harf büyüklükleri ve isteğe bağlı sayı/boolean türleriyle appsettings.json geri elde edersiniz. Azure’un SQLCONNSTR_ tarzı önekleri ConnectionStrings altına eşlenir.
  • Platform tuhaflıkları: Compose için $, $$ olarak kaçışlanır. bash’in export edemeyeceği adlar ve Linux üzerindeki Azure App Service’in _ karakterine çevirdiği, adlardaki noktalar işaretlenir.

Nasıl kullanılır?

appsettings.json dosyanızı yapıştırın ve bir biçim seçin, ardından sonucu kopyalayın veya indirin. Yer değiştir, gidiş-dönüşü denetleyebilmeniz için çıktıyı diğer yönde girdi olarak kullanır.

Gizlilik

Her şey tarayıcınızda çalışır. Girdiniz yalnızca gizli bilgiye benzeyen hiçbir şey içermediğinde yerel depolamada tutulur.