Altbilgi içeriğine atla
Iron Academy Logo
C# Uygulaması
C# Uygulaması

Diğer Kategoriler

Azure İşlevlerinde Uygulama Ayarlarına Erişim

Tim Corey
23m 53s

Günümüzün hızla gelişen bulut ortamında, uygulama ayarlarını güvenli ve esnek bir şekilde yönetmek kritik öneme sahiptir—özellikle Azure Functions ile geliştiren geliştiriciler için. İster Azure portalı üzerinden bir fonksiyon uygulaması başlatıyor, Azure Functions Core Tools kullanarak yapılandırma ayarlarını yönetiyor, ister Key Vault üzerinden sırlar bağlıyor olun, uygulama yapılandırmanızı en başından doğru bir şekilde yapmanız gereklidir.

Accessing AppSettings in Console Apps Including Secrets.json adlı pratik bir oturumda, Tim Corey, .NET ekosistemini kullanarak en iyi uygulamaları anlatıyor. Odak noktası konsol uygulamaları olsa da, kavramları doğrudan Azure Functions uygulamalarındaki fonksiyon ayarlarını geliştirmek ve yönetmekle ilgili—özellikle yerel çalışırken, bir proje dosyası hazırlarken veya App Service'a dağıtırken önemlidir.

Bu makalede Tim'in yapısını kullanarak her şeyi adım adım açıklayacağız ve onun derslerini modern Azure Functions gelişimine uyarlayacağız.

Azure Functions İçin Uygulama Ayarlarının Önemi

Tim, .NET uygulamaları geliştiren herhangi bir şeyin ötesine geçtiğinizde uygulama ayarlarının ne kadar hayati olduğunu belirterek başlıyor. Azure Functions ortamlarında uygulama ayarlarına erişim ihtiyacı daha da belirgindir—çünkü Azure Functions çalıştırma zamanı, yapılandırma değerlerinin ortamlardan, JSON tabanlı local.settings.json veya Azure App Configuration gibi yönetilen depolardan alınmasını bekler.

"Geliştiricilerin genellikle ihtiyaç duyduğu ortak bir özellik, bir ayar dosyasına erişimdir," diyor Tim 0:17'de.

İster bir API anahtarı, ister bir bağlantı dizesi veya bir özellik bayrağı olsun, yapılandırma esnekliği ve güvenliği çok önemlidir—özellikle Microsoft Azure gibi bulut platformlarına dağıtılırken.

Temeli Visual Studio ile Oluşturma

1:24'te Tim, Visual Studio kullanarak SettingsDemoApp adını verdiği bir konsol projesi kuruyor. Azure geliştiricileri genellikle Azure Functions Core Tools kullanarak bir Functions projesi başlatırken, Tim'in kodu iskeleleme ve düzenleme yöntemi sorunsuz bir şekilde çeviriyor. Proje dosyası kurulumu ve kod yapısı temel unsurlardır—ister bir konsol ortamında olun ister izole bir Azure Functions uygulaması oluştururken izole çalışan modeli ile çalışın.

Gerekli NuGet Paketlerini Kurun

2:33'ten itibaren Tim, dört önemli NuGet paketinin yüklenmesini anlatıyor:

  • Microsoft.Extensions.Configuration

  • Microsoft.Extensions.Configuration.Json

  • Microsoft.Extensions.Configuration.Binder

  • Microsoft.Extensions.Configuration.UserSecrets

Bu, Azure Functions tarafından kullanılan uygulama yapılandırma sisteminin aynısını, yani sahne arkasında aynı paketlere dayanan bir sistemi yansıtıyor. Tim modülerliğin değerini vurguluyor:

"Bu aslında aşırının tam tersi," diye belirtiyor, çünkü .NET Core, gereksiz yüklerden kaçınmak için geliştiricilerin NuGet üzerinden tercihte bulunmalarına izin veriyor.

Tipik bir fonksiyon uygulaması için bu paketler ya önceden referans alınmış ya da yapılandırma ayarları, bağımlılık enjeksiyonu veya Key Vault ve Azure App Configuration desteği gibi ileri düzey kullanım durumları için özel mantığı desteklemek üzere kolayca eklenebilir.

Bir JSON Ayar Dosyası Ekleyin ve Yapılandırın

6:12'de Tim, Azure Functions geliştirme için local.settings.json'da görebileceğiniz yapıyı taklit eden appsettings.json adlı yeni bir dosya oluşturuyor. Anahtar-değer çiftleriyle dolduruyor, örneğin:

{
  "Kullanıcı": {
    "IlkAd": "Tim",
    "Soyad": "Corey"
  },
  "BaşlangicSayisiDegeri": 5
}

Yerel fonksiyonlar için geliştiriciler, neredeyse aynı formatta local.settings.json kullanarak, değerler uygulama mantıklarına entegre edilen IConfiguration aracılığıyla okunur. Tim ayrıca önemli bir adımı vurguluyor: dosyanın Çıkış Dizinine Kopyala'yı "Yeni ise Kopyala" olarak ayarlama—yapılandırmanızın çalıştırma zamanında elinizde bulunmasını sağlamak için önemli bir adımdır.

Yapılandırma Hattını Manuel Olarak Kurma

Tim, şöyle bir yapılandırma hattı kuran kodu yazmaya devam ediyor:

var builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

Her ne kadar Azure Functions çalıştırma zamanı bu hattı otomatik olarak ele alsa da, Tim'in açıklaması, fonksiyon projelerinin farklı kaynaklardan değerleri nasıl çektiğini netleştiriyor. .AddJsonFile() kullanımı, geliştiricilerin Azure uygulamalarında local.settings.json'u nasıl yapılandırdıklarını yansıtıyor, reloadOnChange, geliştirme sırasında yapılandırma ayarlarının dinamik olarak yenilenmesi konseptini tanıtır.

Tür Güvenliği ile Değerleri Okuma

Tim, 11:00'de GetValue() metodunu kullanarak ayarları nasıl okumayacağını gösteriyor:

int count = config.GetValue<int>("BaşlangicSayisiDegeri");

Ve iç içe geçmiş ayarlar için şöyle kullanıyor:

string firstName = config.GetValue<string>("Kullanıcı:IlkAd");

Azure Functions ile çalışırken, aynı sözdizimi kalıpları geçerlidir. Tim'in iki nokta ile ayrılmış anahtarlar ('User:FirstName') kullanımı, ortam değişkenlerinde çift alt çizgi (__ ) sözdizimi ile doğrudan bir eşlemeye sahiptir:

Kullanici__IlkAd=Tim

Bu, özellikle Azure App Service'e dağıtılırken veya Azure portalı aracılığıyla yapılandırılırken, ayarları çalışma zamanında uygulama ayarlarını veya ortam tabanlı üzerine yazmaları kullanarak geçersiz kılmanıza olanak tanır.

UserSecrets ile Gizli Bilgileri Güvenli Bir Şekilde Yönetin

Saat 15:00'te, Tim User Secrets aracılığıyla gizli.json modelini tanıtır ve kaynak kontrolde açığa çıkarmadan API anahtarları veya bağlantı dizeleri gibi hassas verileri depolamak için kullanıldığını açıklar. Bu satırı kullanarak projenize bir User Secrets mağazası nasıl ekleneceğini gösteriyor:

builder.AddUserSecrets<Program>();

Siparişin önemli olduğunu, kullanıcı sırlarının önceki yapılandırma kaynaklarını geçersiz kılacağını vurgulayarak son kazanan ilkesini pekiştiriyor. Azure Functions örtük olarak secrets.json kullanmazken, bir üretim bulut ortamında aynı güvenli geçersiz kılmalar sağlamak için Azure Key Vault kullanırdınız ve isteğe bağlı olarak yönetilen kimlik doğrulaması ile birlikte kullanabilirsiniz.

Tim, yerel geliştirmedeki sırların üretimde kullandığınız herhangi bir güvenli sistemin yerine geçen olduğunu belirtir.

Bu secrets.json, gerçek değerlerinizi saklamak için kullandığınız her neyse Key Vault veya ortam ayarları gibi güvenli bir sistemin yerine geçiyor.

Yapılandırmaları Çalıştırın ve Doğrulayın

Hem appsettings.json hem de secrets.json ayarlandığında, Tim örneği çalıştırır ve sırların temel değerleri geçersiz kıldığını doğrular. Bu, Azure Functions'un birden fazla kaynaktan yapılan geçersiz kılmaları nasıl ele aldığını doğrudan yansıtır: local.settings.json, Azure App Configuration, ortam değişkenleri veya Key Vault.

Azure Functions Core Tools'u komut satırından kullanarak veya Visual Studio aracılığıyla dağıtım yaparak, uygulama yapılandırması yükleme sırası ve katmanlaması Tim'in özetlediği gibi davranır.

Yapılandırma Yönetimi için En İyi Uygulamalar

Tim, sık sık değişmeyen yapılandırma değerlerini—özellik bayrakları, frekans ayarları veya CORS yapılandırmaları gibi—JSON dosyanızda tutmanızı ve bağlantı dizeleri ve sırlar gibi hassas verileri güvenli bir mağazada saklamanızı önererek bitirir.

Bu, modern Azure Functions için en iyi uygulamalarla uyumludur:

  • Geliştiriciler, işlevler yerel olarak çalışırken local.settings.json'u kullanır

  • Ekipler, uygulama ayarları için Azure portalını kullanır

  • Sırlar Key Vault'a gider

  • Azure App Configuration mağazası değerleri koddan ayırmanıza yardımcı olur

Bu kaynaklar, uygulama ikili dosyalarına dokunmadan bağımlılık enjeksiyonu ile çalışma zamanına entegre olur.

Son Düşünceler

Tim'in videosu konsol uygulamaları hakkında olsa da, öğrettiği her teknik— yapılandırma dosyaları oluşturma, anahtarları okuma, yönetilen kimlik kullanma, bağımlılık enjeksiyonu aracılığıyla yapılandırma yükleme—Azure Functions uygulamalarına sorunsuz bir şekilde genişletilir. Visual Studio ile dağıtım yaparken, Azure hesabınızı yönetirken veya eksiksiz kod örneklerini bulmaya çalışırken, içgörüleri doğrudan gerçek dünya bulut uygulamaları ile uyuşur.

Hero Worlddot related to Azure İşlevlerinde Uygulama Ayarlarına Erişim
Hero Affiliate related to Azure İşlevlerinde Uygulama Ayarlarına Erişim

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara