Ana içeriğe atla

Azure Functions: Tetikleyiciler, Bağlamalar ve Barındırma Sade Dille

Azure Functions’ın ne olduğunu, olay güdümlü sunucusuz uygulamaları nasıl mümkün kıldığını ve tetikleyiciler, bağlamalar, barındırma seçenekleri ve iş akışlarının nasıl bir araya geldiğini öğrenin.
Güncel 5 Eki 2026  · 7 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Azure Functions, Microsoft’un sunucusuz işlem hizmetinin bir parçasıdır. Basitçe, sunucuları kendiniz yönetmeden, olaylara yanıt olarak küçük kod parçalarını çalıştırmanızı sağlar.

Örneğin, bir işlev bir HTTP isteği geldiğinde, bir dosya depolamaya yüklendiğinde veya planlanan bir zamana ulaşıldığında çalışabilir.

“Sunucusuz” mutlaka sunucu olmadığı anlamına gelmez. Azure’un altyapıyı sizin yerinize yönettiği anlamına gelir. Azure, sağlama, ölçekleme ve bakımı arka planda üstlenir.

Bu rehberde, yapı taşlarını ele alacağım: Tetikleyiciler, bağlamalar, barındırma seçenekleri ve başlamanıza yardımcı olacak uygulamalı bir örnek.

Azure Functions Nedir?

Azure Function, seçtiğiniz bir olay tarafından tetiklendiğinde çalışan küçük bir kod parçasıdır. Mantığı siz yazarsınız, gerisini Azure halleder.

Bu modeli tanımlayan üç fikir vardır.

  1. Olay güdümlü yürütme, kodun sürekli değil, yalnızca bir şey olduğunda çalışmasına izin verir.
  2. Otomatik ölçekleme, Azure’un talebe göre işlem kaynaklarını ekleyip çıkarmasına olanak tanır.
  3. Tüketime dayalı fiyatlandırma, bazı barındırma planlarında, yalnızca kodunuzun gerçekten çalıştığı süre için ödeme yapmanızı sağlar.

İdeal olarak, tek bir işlev tek bir işi yapar; örneğin bir görseli yeniden boyutlandırmak veya bir mesajı işlemek gibi. Function App ise bir veya daha fazla işlevi barındıran kaptır. İçindeki tüm işlevler için yapılandırma ve dağıtım gibi paylaşılan ayarları yönetir.

Azure Functions Nasıl Çalışır

Bir işlevin yaşam döngüsü aşağıdaki basit deseni izler:

  1. Bir olay gerçekleşir; örneğin bir dosya yüklemesi veya bir HTTP çağrısı.
  2. Bir tetikleyici olayı algılar ve işlevi anında başlatır.
  3. İşlev kendi kodunu çalıştırır.
  4. Bağlamalar, işlevi ihtiyaç duyulan girdiyi okuyan veya çıktıyı gönderen diğer hizmetlere bağlar.
  5. Azure, seçtiğiniz barındırma planına göre bu sürecin arkasındaki işlem kaynaklarını yönetir.

Bu akış, dil veya barındırma seçeneğinden bağımsız olarak büyük ölçüde aynıdır. Yalnızca tetikleyici, kod ve bağlamalar değişir.

Azure Functions Tetikleyicileri

Her işlevin tam olarak bir tetikleyicisi vardır. Tetikleyici, işlevin tam olarak nasıl başladığını tanımlar. Bilmeniz gereken en yaygın türler şunlardır:

  • HTTP Trigger: Bir HTTP isteği aldığında bir işlevi çalıştırır. API geliştirmede yaygındır.
  • Timer Trigger: Bir işlevi bir zamanlamaya göre çalıştırır; örneğin, her saat veya günde bir kez.
  • Blob Storage Trigger: Azure Blob Storage’a bir dosya eklendiğinde veya değiştirildiğinde bir işlevi çalıştırır.
  • Queue Trigger: Bir kuyruğa yeni bir ileti geldiğinde bir işlevi çalıştırır.
  • Event Hub Trigger: Bir olay akışına yanıt olarak bir işlev çalıştırır. Büyük veri hacimleri için çok kullanışlıdır.
  • Cosmos DB Trigger: Cosmos DB kapsayıcısında belgeler oluşturulduğunda veya güncellendiğinde, Change Feed’den yararlanarak bir işlevi çalıştırır.
  • Service Bus Trigger: Azure Service Bus kuyruğu veya konusu üzerinden gelen iletilere yanıt olarak bir işlev çalıştırır; kurumsal mesajlaşma ve sistemleri ayrıştırma için yaygın olarak kullanılır.
  • Durable Functions: Sunucusuz bir ortamda durum bilgili işlevler yazarak karmaşık, çok adımlı iş akışlarını orkestre etmenizi sağlayan Azure Functions uzantısı.

Azure Functions Bağlamaları

Tetikleyiciler ve bağlamaların sıkça karıştırıldığını düşünüyorum, ancak benzer görünseler de tamamen farklı işler yaparlar. Tetikleyici bir işlevi başlatır; bağlama ise veriyi okuyup göndererek işlevi veriye bağlar.

Girdi bağlamaları

Burada, özel tümleşme kodu yazmadan işlevinize veri verirsiniz. Örneğin, yalnızca bağlamayı tanımlayarak bir işlev bir veritabanından bir kaydı otomatik olarak okuyabilir.

Çıktı bağlamaları

Bu, işlevinizin sonucunu başka bir yere göndermenizi sağlar. Örneğin, işlenmiş bir mesajı bir kuyruğa yazmak için çıktı bağlamalarını kullanabilirsiniz.

İşte yardımcı olacak bir örnek: Bir Blob Storage tetikleyicisi, bir görsel yüklendiğinde bir işlevi başlatır. Ardından bir çıktı bağlaması, yeniden boyutlandırılmış görseli farklı bir depolama kapsayıcısına kaydeder. Bağlamalar depolama bağlantılarını yönetir ve elle yazılmış depolama istemcisi koduna gerek yoktur.

İlk Azure Function’ınızı Nasıl Oluşturursunuz

İşte bir selamlama döndüren, HTTP ile tetiklenen çok basit bir işlev örneği. Akış şu şekildedir:

  1. Bir Function App oluşturun. Bu, Azure’da işlevinizin konteyneridir.
  2. Bir çalışma zamanı seçin ve kod yazmak istediğiniz dili belirleyin.
  3. Function App’inizin içine yeni bir işlev ekleyin.
  4. İşlevin web isteklerine yanıt vermesi için HTTP tetikleyiciyi seçin.
  5. İstekten bir isim okuyup “Merhaba, [isim].” döndürmek gibi basit bir işlevsellik ekleyin.
  6. Yerleşik test araçlarını kullanarak veya tarayıcınızdan bir istek göndererek işlevi çalıştırıp test edin.
  7. Canlı ve erişilebilir olması için Azure’a dağıtın.

Deseni göstermek ve gerisini yaratıcılığınıza bırakmak için bu örneği özellikle küçük tuttum.

Azure Functions’ın Desteklediği Diller

Azure Functions birçok dili destekler; örneğin:

  • C#
  • JavaScript/TypeScript
  • Python
  • Java
  • PowerShell

Destek ve geliştirme modelleri dile ve sürüme göre değişebilir. Bu nedenle, yeni bir projeye başlamadan önce güncel Azure belgelerine bakmanızı öneririm; çünkü bu detaylar sık değişir.

Azure Functions Barındırma Seçenekleri

Her Azure Function aynı şekilde çalışmaz. Azure, her biri farklı ödünlerle gelen birkaç barındırma planı sunar. Doğru seçim durumunuza bağlıdır. Başlıca ödünler şunlardır:

  • Ölçekleme: Bazı planlar otomatik ve anında ölçeklenirken, diğerleri biraz daha fazla manuel kontrol gerektirir.
  • Başlangıç davranışı: Bazı planlar işlevleri “sıcak” tutar. Bu, anında çalışmaya hazır oldukları anlamına gelir; diğerleri ise işlevleri talep üzerine başlatır.
  • Ağ: Bazı planlar özel bir sanal ağa bağlanma gibi gelişmiş ağ özelliklerini desteklerken, diğerleri desteklemez.
  • Maliyet: Fiyatlandırma modelleri, yürütme başına ödemeden sabit aylık maliyetlere kadar büyük farklılık gösterir.

Azure Functions’ta Ölçekleme ve Soğuk Başlangıçlar

Bir işlev üretimde çalışırken iki kavram daha önem kazanır. Bunlar:

Otomatik ölçekleme

Burada Azure, işlevinizin yükünü izler; talep arttığında daha fazla işlem örneği ekler, talep azaldığında ise onları kaldırır. Bunu manuel olarak yönetmeniz gerekmez.

Soğuk başlangıçlar

Bir işlev yakın zamanda çalışmadıysa, yeni bir isteği işleyebilmeden önce başlamak için kısa bir süreye ihtiyaç duyabilir. Bu gecikmeye soğuk başlangıç denir. Bazı barındırma planları, belirtildiği gibi örneği sıcak tutarak bunu azaltır veya önler.

Yaygın Azure Functions Kullanım Senaryoları

Olay güdümlü model, karşılaşabileceğiniz birçok günlük probleme uygundur. Özellikle:

API’ler ve web kancaları

Tam zamanlı bir web sunucusu çalıştırmadan gelen HTTP isteklerini ele almak için.

Dosya ve görsel işleme

Depolamaya bir dosya geldiğinde bir işlevi tetikleyip ardından yeniden boyutlandırmak, dönüştürmek veya yalnızca taramak için.

Zamanlanmış işler

Sürekli açık bir sunucuya ihtiyaç duymadan zamanlayıcıyla temizlik görevleri, raporlar veya hatırlatıcılar çalıştırmak için.

Veri işleme hatları

İletiler veya olaylar geldikçe, adım adım işlemek için.

IoT ve olay işleme

Akış halinde gelen büyük hacimli sensör veya cihaz verilerini ele almak için.

Arka plan görevleri

E-posta göndermek gibi yavaş veya ara sıra yapılan işleri ana uygulamanızı engellemeden dışarı almak için.

Azure Functions’ı İzleme ve Sorun Giderme

Bir işlev canlıya alındığında, nasıl performans gösterdiğine dair görünürlük gerekir.

Örneğin, her çalıştırmada ne olduğunu kaydeden günlükleri görebilirsiniz; bu, hata ayıklama için çok kullanışlıdır. Ayrıca, performansı, istekleri ve hataları tek bir merkezde izleyen Azure araçlarındaki Application Insights’ı da kontrol edebilirsiniz.

Bir işlevin ne zaman ve neden tamamlanmadığını bilmek için çağrı başarısızlıklarını da izlemelisiniz. Performans izleme, sorun haline gelmeden önce yavaş işlevleri tespit etmenize yardımcı olur ve elbette, başarısız yürütmelerin otomatik olarak yeniden denenmesi için yeniden deneme davranışı yapılandırılabilir.

Sonuç

Azure Functions, alttaki sunucuları yönetmeden, olaylara yanıt olarak kod çalıştırmanın bir yolunu sunar. Tetikleyiciler bir işlevin ne zaman başlayacağına karar verir. Bağlamalar ise, ek tümleşme kodu olmadan o işlevi diğer hizmetlere bağlamayı kolaylaştırır.

Basit bir test işlevinden üretimde çalışan bir şeye geçtiğinizde, barındırma ve ölçekleme seçimleri çok daha önemli hale gelir. Doğru plan maliyeti etkiler, ancak aynı zamanda hız ve güvenilirliği de belirler.


Iheb Gafsi's photo
Author
Iheb Gafsi
LinkedIn

Merkezi olmayan veriler ve dağıtık iş yükleri üzerinde bütünleşik (federated) ML işlem hatlarıyla uç zekâ sağlayan hızlandırılmış yapay zekâ sistemleri üzerinde çalışıyorum.  Çalışmalarım Büyük Modeller, Konuşma İşleme, Bilgisayarlı Görü, Pekiştirmeli Öğrenme ve ileri ML topolojilerine odaklanmaktadır.

SSS

Azure Functions nedir?

Olaylara yanıt olarak küçük kod parçalarını çalıştıran, sunucuları sizin yönetmediğiniz sunucusuz bir hizmet.

Bir Azure Function’ı ne tetikler?

HTTP istekleri, zamanlayıcılar, dosya yüklemeleri veya kuyruk iletileri gibi olaylar.

Tetikleyici ile bağlama arasındaki fark nedir?

Bir tetikleyici işlevi başlatır. Bir bağlama ise girdi veya çıktı için onu diğer hizmetlere bağlar.

Soğuk başlangıç nedir?

Bir işlevin, boşta kaldıktan sonra çalışmaya başlarken yaşadığı kısa gecikme.

Azure Functions hangi dilleri destekler?

C#, JavaScript/TypeScript, Python, Java ve PowerShell.

Konular
Azure

DataCamp ile Azure’ı öğrenin

Kurs

Microsoft Azure'ı Anlamak

3 sa
50.8K
Veri mühendisliği becerilerinizi geliştirmenize yardımcı olacak Microsoft Azure ve bulut bilişim yazılımlarının gücünü keşfedin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör