Giriş ve çıkış bağlamalarının türlerini keşfedin

Tamamlandı

Verilere erişme ve onları işleme, birçok yazılım çözümünün temel görevlerindendir. Şu senaryoları ele alalım:

  • Gelen verileri Azure Blob Depolama Azure Cosmos DB'ye taşımanın bir yolunu uygulamanız istendi.
  • Gelen iletileri kuruluşunuzdaki başka bir bileşen tarafından işlenmek üzere bir kuyruğa göndermek istiyorsunuz.
  • Hizmetinizin bir kuyruktaki oyuncu puanlarını alarak çevrimiçi puan tablosunu güncelleştirmesi gerekiyor.

Bu örneklerin tümü verilerin taşınmasıyla ilgilidir. Veri kaynağı ve hedefi senaryoya göre değişiklik gösterir ancak düzen genellikle benzerdir. Bir veri kaynağına bağlanıp verileri okur ve yazarsınız. Azure İşlevleri, bağlamaları kullanarak veriler ve hizmetlerle tümleştirme sağlamanıza yardımcı olur.

Bağlama nedir?

Azure İşlevleri’ndeki bağlamalar, kodunuzdan verilere bağlanmak için bildirim temelli bir yöntem sunar. Bir işlevle veri akışlarını tutarlı bir şekilde tümleştirmeyi kolaylaştırır. Farklı veri öğelerine erişim sağlayan birden fazla bağlama olabilir. Bu tümleştirme güçlüdür çünkü belirli bir bağlantı mantığını (veritabanı bağlantıları veya web API arabirimleri gibi) kodlamanıza gerek kalmadan veri kaynaklarınıza bağlanabilirsiniz.

Bağlama türleri

İşlevlerle kullanabileceğiniz iki bağlama türü vardır:

  • Giriş bağlama - veri kaynağına Bağlan. İşlevimiz bu giriş kaynaklarından verileri okuyabilir.

  • Çıkış bağlaması - veri hedefine Bağlan. İşlevimiz bu çıkış hedeflerine veri yazabilir.

Ayrıca, bir işlevin çalışmasına neden olan özel giriş bağlaması türleri olan tetikleyiciler de vardır. Örneğin, bir Azure Event Grid bildirimi tetikleyici olarak yapılandırılabilir. Bir olay oluştuğunda işlev çalışır.

Desteklenen bağlama türleri

Bağlama türü, verileri okuduğumuz veya gönderdiğimiz yeri tanımlar. Web isteklerine yanıt vermek için bir bağlama ve çeşitli Azure hizmetleriyle ve üçüncü taraf hizmetlerle doğrudan etkileşime geçmek için çok çeşitli bağlamalar vardır.

Bağlama türü giriş, çıkış veya her ikisi olarak kullanılabilir. Örneğin, bir işlev Blob Depolama çıkış bağlamasına yazabilir, ancak Blob Depolama güncelleştirmesi başka bir işlevi tetikleyebilir.

Yaygın bağlama türleri şunlardır:

  • Blob Depolama
  • Azure Service Bus Kuyrukları
  • Azure Cosmos DB
  • Azure Event Hubs
  • Dış dosyalar
  • Dış tablolar
  • HTTP uç noktaları

Bu türler yalnızca bir örnektir. Daha birçok bağlama türü vardır. Ayrıca işlevler genişletilebilirlik modeli aracılığıyla daha fazla bağlama ekleyebilir.

Bağlama özellikleri

Tüm bağlamalarda üç özellik gereklidir, ancak kullandığınız bağlama ve depolama türüne göre daha fazla özellik sağlamanız gerekebilir.

  • Ad - Verilere erişmek için kullandığınız işlev parametresini tanımlar. Örneğin, bir kuyruk giriş bağlamasında bu özellik, kuyruk iletisi içeriğini alan işlev parametresinin adıdır.

  • Tür - Bağlama türünü tanımlar. Örneğin, etkileşime geçmek istediğiniz veri veya hizmet türü.

  • Yön - Verilerin aktığı yönü gösterir. Örneğin, bu bir giriş veya çıkış bağlaması mı?

Bunlara ek olarak, birçok bağlama türü için dördüncü bir özellik daha gerekir:

  • Bağlantı - Bağlantı dizesini içeren bir uygulama ayarı anahtarının adını sağlar. Bağlamalar, gizli dizileri işlev kodunun dışında tutmak için uygulama ayarlarında depolanan bağlantı dizeleri kullanır. Bağlan dizeleri kodunuzu daha yapılandırılabilir ve güvenli hale getirir.

Bağlantı oluşturma

Bağlamalar JSON ile tanımlanır. Bağlama, işlevinizin yapılandırma dosyası olan ve işlev kodunuzla aynı klasörde bulunan function.json adlı dosyada tanımlanır.

Örnek bir giriş bağlamasını inceleyelim:

    ...
    {
      "name": "headshotBlob",
      "type": "blob",
      "path": "thumbnail-images/{filename}",
      "connection": "HeadshotStorageConnection",
      "direction": "in"
    },
    ...

Bu bağlamayı oluşturmak için şunları yapıyoruz:

  1. function.json dosyamızda bir bağlama oluşturuyoruz.

  2. name değişkeninin değerini sağlıyoruz. Bu örnekte değişken blob verilerini tutuyor.

  3. Depolama için type bilgisini sağlıyoruz. Yukarıdaki örnekte Blob Depolama kullanıyoruz.

  4. Kapsayıcının ve içindeki öğenin adını belirten path bilgisini sağlıyoruz. path özelliği blob tetikleyicisi kullanılırken gereklidir ve burada gösterilen stilde, yolun dosya adı bölümü çevresinde küme ayraçları ile sağlanmalıdır. Bu söz dizimi, diğer bağlamalarda ve işlevinizin kodunda blob adına başvurmanızı sağlayan bir bağlama ifadesi oluşturur. Bu örnekte, işlevdeki filename adlı parametre işlevi tetikleyen blobun dosya adıyla doldurulabilir.

  5. Uygulamanın ayarlar dosyasında tanımlanan connection dizesi ayarı adını sağlıyoruz. Depolama hesabınıza bağlanmak için kullanılacak bağlantı dizesini bulmak için kullanılır.

  6. direction değerini in olarak tanımlıyoruz. Blobdan veri okur.

Bağlamalar, işlevinizde verilere bağlanmak için kullanılır. Bu örnekte, işlevimiz tarafından işlenmek üzere kullanıcı görüntülerini küçük resim olarak bağlamak için bir giriş bağlaması kullandık.