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

Azure Cosmos DB YAPıLANDıRıLMAMıŞ ve JSON verilerini depolamanın harika bir yoludur. Cosmos DB, Azure İşlevleri ile birlikte kullanıldığında verilerin ilişkisel bir veritabanında depolanmasına göre çok daha az kodla verileri hızlı ve kolay bir şekilde depolar.

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ünde veya giriş sayfasında, kaynak oluştur' u seçin.

  2. Yeni sayfasında, Azure Cosmos DB bulun ve seçin.

  3. Azure Cosmos DB sayfasında Oluştur' u seçin.

  4. Azure Cosmos DB hesabı oluştur sayfasında, yeni Azure Cosmos hesabı için temel ayarları girin.

    Ayar Değer Açıklama
    Abonelik Abonelik adı Bu Azure Cosmos 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 hesabınızı tanımlayan 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. Ad, 3-31 karakter arası uzunlukta olmalıdır.
    API Oluşturulacak hesap türü SQL söz dizimini kullanarak belge veritabanı ve sorgusu oluşturmak için Cekirdek (SQL) seçeneğini belirleyin.

    API, oluşturulacak hesap türünü belirler. Azure Cosmos DB beş API sağlar: belge verileri için çekirdek (SQL) ve MongoDB, Graf verileri için Gremlin, Azure tablosu ve Cassandra. Şu anda, her API için farklı bir hesap oluşturmanız gerekir.

    SQL API’si hakkında daha fazla bilgi edinin.
    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 bir hesap oluşturmak için sağlanan aktarım hızı ' nı seçin. Sunucusuz modda bir hesap oluşturmak Için sunucusuz ' ı seçin.
    Ücretsiz katman indirimi Azure Cosmos DB Uygula Uygula veya Uygula Azure Cosmos DB ücretsiz katman sayesinde ilk 1000 RU/sn ve 25 GB depolama alanını hesapta ücretsiz olarak alırsınız. Ücretsiz katmanhakkında daha fazla bilgi edinin.

    Not

    Azure aboneliği başına en fazla bir ücretsiz katman Azure Cosmos DB hesabınız olabilir ve hesabı oluştururken kabul etmeniz gerekir. Ücretsiz katman indirimi uygulama seçeneğini görmüyorsanız bu, abonelikteki başka bir hesabın ücretsiz katmanla zaten etkinleştirildiği anlamına gelir.

    Azure Cosmos DB için yeni hesap sayfası

  5. Genel dağıtım sekmesinde, aşağıdaki ayrıntıları yapılandırın. Bu hızlı başlangıç amacıyla varsayılan değerleri bırakabilirsiniz:

    Ayar Değer Açıklama
    Coğrafi Yedeklilik Devre Dışı Bırak Bölgenizi bir çift bölge ile 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, veritabanları ve iş parçacıklarınız için dünya genelindeki sağlanan aktarım hızı avantajlarından yararlanmanıza olanak sağlar.

    Not

    Kapasite modu olarak sunucusuz ' i seçerseniz aşağıdaki seçenekler kullanılamaz:

    • Ücretsiz Katman İndirimi Uygula
    • Coğrafi yedeklilik
    • Birden Çok Bölgeli Yazmalar
  6. İsteğe bağlı olarak, aşağıdaki sekmelerde ek ayrıntılar yapılandırabilirsiniz:

    • - bir sanal ağdan erişimiyapılandırın.
    • Yedekleme ilkesi - 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 bir anahtarkullanın.
    • Etiketler -Etiketler, birden fazla kaynağa ve kaynak grubuna aynı etiketi uygulayarak kaynakları kategorilere ayırmanıza ve birleştirilmiş faturalandırmayı görüntülemenize olanak tanıyan 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.

    Azure portaldaki Bildirimler bölmesi

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

    Azure Cosmos DB hesabı sayfası

Çıktı bağlaması ekleme

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

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

    Azure portal http işlevinizi seçin.

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

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

  4. Tabloda belirtilen çı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 çıkış bağlamasını oluşturmak için seçilecek bağlama türünün adı.
    Belge parametre adı taskDocument Kodda Cosmos DB nesnesine başvuran ad.
    Veritabanı adı taskDatabase Belgelerin kaydedileceği veritabanının adı.
    Koleksiyon adı taskCollection Veritabanı koleksiyonunun adı.
    True ise, Cosmos DB veritabanı ve koleksiyonunu oluşturur Yes Koleksiyon henüz mevcut değil, bu yüzden oluşturun.
    Cosmos DB hesabı bağlantısı Yeni ayar Yeni' yi ve ardından daha önce oluşturduğunuz Azure Cosmos DB hesabı ve 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.
  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.

    Ekran görüntüsü, Çalıştır seçildikten sonra 200 durumunun vurgulandığı HTTP yanıt kodunu gösterir.

  3. Azure portal, araması yapın ve Azure Cosmos DB seçin.

    Cosmos DB hizmeti için arama yapın.

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

  5. TaskCollection düğümlerini genişletin, yeni belge ' yi seçin ve belgenin sorgu dizesi değerlerinizi içerdiğinden, bazı ek meta verilerle birlikte emin olun.

    Belgenizdeki dize değerlerini doğrulayın.

Yapılandırılmamış verileri bir Azure Cosmos DB’de depolayan 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ünde 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 istedikleriniz olduğundan emin olun.

Kaynak grubunu sil' i seçin, onaylamak için metin kutusuna myresourcegroup yazın ve ardından Sil' i seçin.

Sonraki adımlar

Cosmos DB veritabanına bağlama hakkında daha fazla bilgi için bkz. Azure İşlevleri Cosmos DB bağlamaları.