Giriş ve çıkış bağlamalarının türlerini keşfedin
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 istenir.
- 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 - Bir veri kaynağına bağlanır. İşlevimiz bu giriş kaynaklarından verileri okuyabilir.
Çıkış bağlama - Bir veri hedefine bağlanır. İş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ğlantı 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:
function.json dosyamızda bir bağlama oluşturuyoruz.
name
değişkeninin değerini sağlıyoruz. Bu örnekte değişken blob verilerini tutuyor.Depolama için
type
bilgisini sağlıyoruz. Yukarıdaki örnekte Blob Depolama'yı kullanıyoruz.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.Uygulamanın ayarlar dosyasında tanımlanan
connection
dizesi ayarı adını sağlıyoruz. Ad, depolama hesabınıza bağlanacak bağlantı dizesi bulmak için anahtar olarak kullanılır.direction
değeriniin
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.