Azure İşlevleri ve Azure Cosmos DB’yi kullanarak yapılandırılmamış verileri depolama

Azure Cosmos DB , yapılandırılmamış ve JSON verilerini depolamak için harika bir yoldur. 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 konu başlığında, başlangıç noktası olarak Azure portalında ilk işlevinizi oluşturma bölümünde oluşturulan kaynaklar kullanılmaktadır. Daha önce yapmadıysanız işlev uygulamanızı oluşturmak için lütfen şu 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.

  1. Azure portal menüsünden veya Giriş sayfasındaKaynak oluştur'u seçin.

  2. Azure Cosmos DB için arama. Azure Cosmos DB Oluştur'u> seçin.

  3. Azure Cosmos DB hesabı oluşturma 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
    • Belge verileri için MongoDB
    • 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.

  4. Azure Cosmos DB Hesabı Oluştur sayfasında yeni Azure Cosmos DB hesabının temel ayarlarını girin.

    Ayar Değer 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 bir 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 (-) karakteri 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ını ücretsiz olarak alırsınız. Ü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.

    Azure Cosmos DB Hesabı Oluştur sayfasını gösteren ekran görüntüsü.

    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
  5. 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 Değer 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 artırmanıza 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
  6. İ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 ilkesi yapılandırın.
    • Şifreleme. Hizmet tarafından yönetilen anahtar veya müşteri tarafından yönetilen anahtar kullanın.
    • Etiketler'i seçin. Etiketler, birden çok kaynağa ve kaynak grubuna aynı etiketi uygulayarak kaynakları kategorilere ayırmanızı ve birleştirilmiş faturalamayı görüntülemenizi sağlayan ad/değer çiftleridir.
  7. Gözden geçir ve oluştur’u seçin.

  8. 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.

    Dağıtımınızın tamamlandığını gösteren ekran görüntüsü.

  9. Azure Cosmos DB hesabı sayfasına gitmek için Kaynağa git seçeneğini belirleyin.

    Azure Cosmos DB hesap sayfasını gösteren ekran görüntüsü.

Çıktı bağlaması ekleme

  1. Azure portal daha önce oluşturduğunuz işlev uygulamasına gidin ve uygulamayı seçin.

  2. İşlevler'i ve ardından HttpTrigger işlevini seçin.

    Azure portal Http işlevinizi seçin.

  3. Tümleştirme'yi ve + Çıkış ekle'yi seçin.

    Azure Cosmos DB çıkış bağlaması ekleyin.

  4. Tabloda belirtildiği gibi Çıkış Oluştur ayarlarını kullanın:

    Azure Cosmos DB çıkış bağlamayı yapılandırı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 Evet Koleksiyon henüz mevcut değil, bu yüzden oluşturun.
    Azure Cosmos DB hesabı bağlantısı Yeni ayar Yeni'yi seçin, ardından Azure Cosmos DB Hesabı'nı ve daha önce oluşturduğunuz Veritabanı hesabını 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.
  5. 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

  1. 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

    İşlevi test edin.

  2. Çalıştır'ı seçin ve 200 durumunun döndürüldüğünü doğrulayın.

    Çalıştır'ı seçtikten sonra vurgulanan HTTP yanıt kodu 200 durumunu gösteren ekran görüntüsü.

  3. Azure portal Azure Cosmos DB'yi arayın ve seçin.

    Azure Cosmos DB hizmetini arayın.

  4. Azure Cosmos DB hesabınızı ve ardından Veri Gezgini'ı seçin.

  5. 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.

    Belgenizdeki dize değerlerini doğrulayı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, listelenen kaynakların silmek istediğiniz 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.