Azure Functions Serisi #8 – Azure Function Dosya Yapısı

Merhaba,

Azure Functions Yazı Serisinde şu ana kadar incelediğimiz içeriklerden artık sıra bir Azure Function projesindeki dosya yapılanmasını ele alarak anatomik olarak incelemeye geldiği kanaatindeyim. O halde buyrun beraber Azure Function dosya yapılanmasına kısaca göz atalım.

Öncelikle Visual Studio editörü üzerinden bir Azure Function projesi oluşturunuz. En nihayetinde ele alınacak konu esasında tüm Azure Function Trigger türleri için geçerli olacağından dolayı oluşturulacak function’ın trigger türünü şimdilik Http Trigger olarak seçebilirsiniz.

Sınırsız Function Class Oluşturma

Bir Azure Function App içerisine istediğiniz kadar trigger class’ı ekleyebilirsiniz. Bunun için projeye sağ tıklayarak ‘Add’ -> ‘New Azure Function…’ kombinasyonunu takip edebilirsiniz.
Azure Functions Serisi #8 - Azure Function Dosya Yapısı
İlgili sekme seçildikten ve eklenecek olan function’ın trigger türü belirlendikten sonra kod dosyasını oluşturmuş olacaksınız.
Azure Functions Serisi #8 - Azure Function Dosya Yapısı
Yukarıdaki ekran alıntısından da anlayacağınız üzere bizler üç adet function class’ı eklemiş bulunmaktayız. Uygulamayı derleyip, çalıştırdığınızda tüm bu function’lara karşılık bir endpoint verildiğini göreceksiniz.
Azure Functions Serisi #8 - Azure Function Dosya Yapısı

Ayrıca bu şekilde ayrı ayrı class dosyaları oluşturmaktansa tek bir class içerisinde birden fazla da function tanımlayabilirsiniz.
Azure Functions Serisi #8 - Azure Function Dosya Yapısı
Tabi ki de uygulamayı ayağa kaldırdığınızda tüm metotlara karşılık yine bir endpoint verildiğini göreceksiniz.
Azure Functions Serisi #8 - Azure Function Dosya Yapısı

host.json Dosyası Nedir?

Runtime ile ilgili bilgilerin tutulduğu bir dosyadır. Publish edildiğinde cloud’a buradaki bilgiler gönderilir.

{
    "version": "2.0",
    "logging": {
        "applicationInsights": {
            "samplingExcludedTypes": "Request",
            "samplingSettings": {
                "isEnabled": true
            }
        }
    }
}

local.settings.json Dosyası Nedir?

Asp.NET Core uygulamalarındaki ‘appsettings.json’ dosyasının Azure Function’da ki karşılığıdır. Uygulamanın local’de kullanacağı verileri tanımladığımız bir json dosyasıdır. Local’de kullanılacak veriler için tasarlandığından dolayı local’e özgüdür ve bundan dolayı publish neticesinde cloud’a gönderilmeyecektir. İçeriğine göz atarsak eğer;

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet"
    }
}

şeklinde tasarlanmıştır. Burada ‘AzureWebJobsStorage’ alanına odaklanmanızı istiyorum. Kaleme aldığımız Azure Functions yazıları boyunca function’ların esasında herhangi bir storage’a bağlı bir şekilde kullanılmasının zaruri olduğundan bahsetmiştik. İşte bu alanda bu function uygulamasının hangi storage’a bağlı olduğunu bildiriyoruz. ‘UseDevelopmentStorage=true’ değeri local’da ki storage’a karşılık gelmektedir. Ayriyetten ‘FUNCTIONS_WORKER_RUNTIME’ alanına bakarsanız eğer runtime olarak ‘dotnet’ ortamında çalıştığımızı ifade etmektedir. ‘local.settings.json’ dosyasındaki verilerin cloud ortama taşınabilmesi için portal üzerinden ekstra işlemler yapmamız gerekmektedir. Bunu yazı dizimizin devam sürecinde uygun noktada izah edeceğimden şüpheniz olmasın. Nihayetinde, niyet ettiğimiz bir konu üzerinde a’dan z’ye doğru içerik sıralamasıyla bir bilgi aktarım çabasında olduğumuzu görüyorsunuz. Bunun karşılığını yazı dizisini sabır ve sebatla okuyarak/okumaya devam ederek vermenizi temenni ediyorum…

İlgilenenlerin faydalanması dileğiyle…
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. 08 Ağustos 2020

    […] önceki Azure Function Dosya Yapısı makalemizden örnek Http Trigger endpoint […]

  2. 08 Ağustos 2020

    […] Azure Functions Serisi #8 – Azure Function Dosya Yapısı […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*