Azure İşlevleri ve Azure Cosmos DB’yi kullanarak yapılandırılmamış verileri depolama
Azure Cosmos DB, yapılandırılmamış verileri ve JSON verilerini depolamanın harika bir yoludur. Azure Cosmos DB, Azure İşlevleri ile birlikte verileri ilişkisel veritabanında depolamak için gerekenden çok daha az kodla hızlı ve kolay bir şekilde depolamayı sağlar.
Not
Şu anda Azure Cosmos DB tetikleyicisi, giriş bağlamaları ve çıkış bağlamaları yalnızca SQL API ve Graph API hesaplarıyla çalışır.
Azure İşlevleri’nde giriş ve çıkış bağlamaları, işlevinizden dış hizmet verilerine bağlanmanın bildirim temelli bir yöntemini sağlar. Bu makalede, yapılandırılmamış verileri bir Azure Cosmos DB belgesinde depolayan bir çıktı bağlaması eklemek için var olan bir işlevi güncelleştirme hakkında bilgi edinin.
Önkoşullar
Bu öğreticiyi tamamlamak için:
Bu makale, Başlangıç noktası olarak Azure portalında ilk işlevinizi oluşturma bölümünde oluşturulan kaynakları kullanır. Daha önce yapmadıysanız işlev uygulamanızı oluşturmak için bu adımları uygulayın.
Azure Cosmos DB hesabı oluşturma
Çıkış bağlamasını oluşturabilmek için SQL API'sini kullanan bir Azure Cosmos DB hesabınızın olması gerekir.
Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.
Azure Cosmos DB için arama. Azure Cosmos DB Oluştur'u>seçin.
Azure Cosmos DB hesabı oluştur sayfasında, NoSQL için Azure Cosmos DB bölümünde Oluştur seçeneğini belirleyin.
Azure Cosmos DB çeşitli API'ler sağlar:
- Belge verileri için NoSQL
- PostgreSQL
- MongoDB, belge verileri için
- Apache Cassandra
- Tablo
- Grafik verileri için Apache Gremlin
NoSQL API'si hakkında daha fazla bilgi edinmek için bkz . Azure Cosmos DB'ye Hoş Geldiniz.
Azure Cosmos DB Hesabı Oluştur sayfasında yeni Azure Cosmos DB hesabının temel ayarlarını girin.
Ayar Value Açıklama Abonelik Abonelik adı Bu Azure Cosmos DB hesabı için kullanmak istediğiniz Azure aboneliğini seçin. Kaynak Grubu Kaynak grubu adı Bir kaynak grubu seçin veya Yeni oluştur seçeneğini belirleyin ve yeni kaynak grubu için benzersiz bir ad girin. Hesap Adı Benzersiz Ad Azure Cosmos DB hesabınızı tanımlamak için bir ad girin. URI’nizi oluşturmak için sağladığınız ada documents.azure.com ekleneceği için benzersiz bir ad kullanın. Ad yalnızca küçük harf, sayı ve kısa çizgi (-) karakterini içerebilir. 3-44 karakter uzunluğunda olmalıdır. Konum Kullanıcılarınıza en yakın bölge Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin. Verilere en hızlı erişimi sağlamak için kullanıcılarınıza en yakın olan konumu kullanın. Kapasite modu Sağlanan aktarım hızı veya Sunucusuz Sağlanan aktarım hızı modunda hesap oluşturmak için Sağlanan aktarım hızı'na tıklayın. Sunucusuz modda hesap oluşturmak için Sunucusuz'u seçin. Azure Cosmos DB ücretsiz katman indirimi uygulama Uygula veya Uygulama Azure Cosmos DB ücretsiz katmanı ile bir hesapta ilk 1000 RU/sn ve 25 GB depolama alanı ücretsiz olarak elde edersiniz. Ücretsiz katman hakkında daha fazla bilgi edinin. Toplam hesap aktarım hızını sınırla Seçili veya değil Bu hesapta sağlanacak toplam aktarım hızı miktarını sınırlayın. Bu sınır, sağlanan aktarım hızıyla ilgili beklenmeyen ücretleri engeller. Hesabınız oluşturulduktan sonra bu sınırı güncelleştirebilir veya kaldırabilirsiniz. Azure aboneliği başına en fazla bir ücretsiz katman Azure Cosmos DB hesabınız olabilir ve hesabı oluştururken bunu kabul etmeniz gerekir. Ücretsiz katman indirimini uygulama seçeneğini görmüyorsanız abonelikteki başka bir hesap ücretsiz katmanla zaten etkinleştirilmiştir.
Not
Kapasite modu olarak Sunucusuz seçeneğini belirlediğinizde aşağıdaki seçenekler kullanılamaz:
- Ücretsiz Katman İndirimi Uygula
- Toplam hesap aktarım hızını sınırla
Genel Dağıtım sekmesinde aşağıdaki ayrıntıları yapılandırın. Bu hızlı başlangıç için varsayılan değerleri bırakabilirsiniz:
Ayar Value Açıklama Coğrafi Yedeklilik Devre Dışı Bırak Bölgenizi bir çift bölgeyle eşleştirerek hesabınızda genel dağıtımı etkinleştirin veya devre dışı bırakın. Daha sonra hesabınıza daha fazla bölge ekleyebilirsiniz. Birden Çok Bölgeli Yazmalar Devre Dışı Bırak Çok bölgeli yazma özelliği, dünya genelindeki veritabanlarınız ve kapsayıcılarınız için sağlanan aktarım hızını kullanmanıza olanak tanır. Kullanılabilirlik Alanları Devre Dışı Bırak Kullanılabilirlik Alanları uygulamanızın kullanılabilirliğini ve dayanıklılığını daha da geliştirmenize yardımcı olur. Not
Önceki Temel Bilgiler sayfasında Kapasite modu olarak Sunucusuz seçeneğini belirlediğinizde aşağıdaki seçenekler kullanılamaz:
- Coğrafi yedeklilik
- Birden Çok Bölgeli Yazmalar
İsteğe bağlı olarak, aşağıdaki sekmelerde daha fazla ayrıntı yapılandırabilirsiniz:
- Ağ iletişimi. Sanal ağdan erişimi yapılandırma.
- Yedekleme İlkesi. Düzenli veya sürekli yedekleme ilkesini yapılandırın.
- Şifreleme. Hizmet tarafından yönetilen anahtarı veya müşteri tarafından yönetilen anahtarı kullanın.
- Etiketler' e tıklayın. Etiketler, birden fazla kaynağa ve kaynak grubuna aynı etiketi uygulayarak kaynakları kategorilere ayırmanızı, birleşik faturaları görüntülemenizi sağlayan ad/değer çiftleridir.
Gözden geçir ve oluştur’u seçin.
Hesap ayarlarını gözden geçirip Oluştur seçeneğini belirleyin. Hesabın oluşturulması birkaç dakika sürer. Portal sayfasında Dağıtımınız tamamlandı iletisinin görüntülenmesini bekleyin.
Azure Cosmos DB hesabı sayfasına gitmek için Kaynağa git seçeneğini belirleyin.
Çıktı bağlaması ekleme
Azure portalında, daha önce oluşturduğunuz işlev uygulamasına gidin ve bunu seçin.
İşlevler'i ve ardından HttpTrigger işlevini seçin.
Tümleştirme ve + Çıkış ekle'yi seçin.
Tabloda belirtildiği gibi Çıkış Oluştur ayarlarını kullanın:
Ayar Önerilen değer Açıklama Bağlama Türü Azure Cosmos DB Azure Cosmos DB'ye çıkış bağlaması oluşturmak için seçecek bağlama türünün adı. Belge parametre adı taskDocument Koddaki Azure Cosmos DB nesnesine başvuran ad. Veritabanı adı taskDatabase Belgelerin kaydedileceği veritabanının adı. Koleksiyon adı taskCollection Veritabanı koleksiyonunun adı. True ise Azure Cosmos DB veritabanını ve koleksiyonunu oluşturur Yes Koleksiyon henüz mevcut değil, bu yüzden oluşturun. Azure Cosmos DB hesabı bağlantısı Yeni ayar Yeni'yi, ardından Azure Cosmos DB Hesabı'nı ve daha önce oluşturduğunuz Veritabanı hesabını seçin ve ardından Tamam'ı seçin. Hesap bağlantınız için bir uygulama ayarı oluşturulur. Bu ayar bağlama tarafından veritabanı bağlantısı için kullanılır. Bağlamayı oluşturmak için Tamam'ı seçin.
İşlev kodunu güncelleştirme
Mevcut işlev kodunu aşağıdan seçtiğiniz dildeki kodla değiştirin:
Mevcut C# işlevini aşağıdaki kodla değiştirin:
#r "Newtonsoft.Json"
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
public static IActionResult Run(HttpRequest req, out object taskDocument, ILogger log)
{
string name = req.Query["name"];
string task = req.Query["task"];
string duedate = req.Query["duedate"];
// We need both name and task parameters.
if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(task))
{
taskDocument = new
{
name,
duedate,
task
};
return (ActionResult)new OkResult();
}
else
{
taskDocument = null;
return (ActionResult)new BadRequestResult();
}
}
Bu kod örneği, HTTP İsteği sorgu dizelerini okur ve taskDocument
nesnesindeki alanlara atar. taskDocument
bağlaması bu bağlama parametresindeki nesne verilerini, bağlanan belge veritabanında depolanmak üzere gönderir. Veritabanı, işlev ilk kez çalıştırıldığında oluşturulur.
İşlevi ve veritabanını test etme
Test/Çalıştır’ı seçin. Sorgu altında + Parametre ekle'yi seçin ve sorgu dizesine aşağıdaki parametreleri ekleyin:
name
task
duedate
Çalıştır'ı seçin ve 200 durumunun döndürüldüğünü doğrulayın.
Azure portalında Azure Cosmos DB'yi arayın ve seçin.
Azure Cosmos DB hesabınızı ve ardından Veri Gezgini seçin.
TaskCollection düğümlerini genişletin, yeni belgeyi seçin ve belgenin bazı ek meta verilerle birlikte sorgu dizesi değerlerinizi içerdiğini onaylayın.
Yapılandırılmamış verileri bir Azure Cosmos DB örneğinde depolamak için HTTP tetikleyicinize başarıyla bir bağlama eklediniz.
Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. İleride bu kaynaklara ihtiyaç duymayacağınızı düşünüyorsanız kaynakları silmek için kaynak grubunu silebilirsiniz.
Azure portalı menüsünden veya Giriş sayfasında Kaynak grupları'nı seçin. Ardından Kaynak grupları sayfasında myResourceGroup öğesini seçin.
myResourceGroup sayfasında, silmek istediğiniz kaynakların listelenmiş kaynaklar olduğundan emin olun.
Kaynak grubunu sil'i seçin, onaylamak için metin kutusuna myResourceGroup yazın ve sil'i seçin.
Sonraki adımlar
Azure Cosmos DB örneğine bağlama hakkında daha fazla bilgi için bkz. Azure Cosmos DB bağlamalarını Azure İşlevleri.
- Azure İşlevleri tetikleyicileri ve bağlama kavramları
İşlevler'in diğer hizmetlerle nasıl tümleştirebileceğinizi öğrenin. - Azure İşlevleri geliştirici başvurusu
İşlevler çalışma zamanı hakkında daha fazla teknik bilgi ve işlevleri kodlamak ve tetikleyicileri ve bağlamaları tanımlamak için bir başvuru sağlar. - Azure İşlevleri’ni yerel olarak kodlama ve test etme
İşlevlerinizi yerel olarak geliştirme seçeneklerini açıklar.