Azure Cosmos DB tarafından tetiklenen bir işlev oluşturma

Azure Cosmos DB'de veriler eklendiğinde veya değiştirildiğinde tetiklenen bir işlevi Azure portalında nasıl oluşturacağınızı öğrenin. Azure Cosmos DB hakkında daha fazla bilgi edinmek için bkz. Azure Cosmos DB: Azure İşlevleri ile sunucusuz veritabanı işlemleri.

Not

Portal içi düzenleme yalnızca JavaScript, PowerShell ve C# Betik işlevleri için desteklenir. Python portal içi düzenleme yalnızca Tüketim planında çalıştırılırken desteklenir. Mümkün olduğunda işlevlerinizi yerel olarak geliştirmeniz gerekir.

Azure portalında işlev kodunu düzenleme sınırlamaları hakkında daha fazla bilgi edinmek için bkz . Azure portalında geliştirme sınırlamaları.

Önkoşullar

Bu öğreticiyi tamamlamak için:

Not

Azure Cosmos DB bağlamaları yalnızca NoSQL için Azure Cosmos DB ile kullanılmak üzere desteklenir. Tablo için Azure Cosmos DB desteği, 5.x uzantısından başlayarak Tablo depolama bağlamaları kullanılarak sağlanır. Diğer tüm Azure Cosmos DB API'leri için, MongoDB için Azure Cosmos DB, Cassandra için Azure Cosmos DB ve Apache Gremlin için Azure Cosmos DB gibi API'nizin statik istemcisini kullanarak işlevinizden veritabanına erişmeniz gerekir.

Azure'da oturum açma

Azure hesabınızla Azure portalında oturum açın.

Azure Cosmos DB hesabı oluşturma

Tetikleyiciyi 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. Azure Cosmos DB için arama. Azure Cosmos DB Oluştur'u>seçin.

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

  4. 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ı'natıklayın. Sunucusuz modda hesap oluşturmak için Sunucusuz'useç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.

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

Azure’da bir işlev uygulaması oluşturma

  1. Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur'u seçin.

  2. Yeni sayfasında İşlem>İşlevi Uygulaması'nı seçin.

  3. Varsayılan Tüketim planında uygulamanızı oluşturmak için Barındırma seçeneği belirtin altında Tüketim> Seç'i seçin. Bu sunucusuz barındırma seçeneğinde yalnızca işlevlerinizin çalıştığı süre için ödeme alırsınız. Premium plan ayrıca dinamik ölçeklendirme de sunar. Bir App Service planı içinde çalıştırdığınızda işlev uygulamanızın ölçeklendirmesini yönetmeniz gerekir.

  4. Temel Bilgiler sayfasında, aşağıdaki tabloda belirtilen işlev uygulaması ayarlarını kullanın:

    Ayar Önerilen değer Açıklama
    Abonelik Aboneliğiniz Yeni işlev uygulamanızı oluşturduğunuz abonelik.
    Kaynak Grubu myResourceGroup İşlev uygulamanızı oluşturduğunuz yeni kaynak grubunun adı. Mevcut bir kaynak grubunda yeni işlev uygulamaları oluştururken bilinen sınırlamalar olduğundan yeni bir kaynak grubu oluşturmanız gerekir.
    İşlev Uygulamasının adı Genel olarak benzersiz bir ad Yeni işlev uygulamanızı tanımlayan ad. Geçerli karakterler şunlardır: a-z (büyük/küçük harf duyarsız), 0-9 ve -.
    Çalışma zamanı yığını Tercih edilen dil Tercih ettiğiniz işlev programlama dilini destekleyen bir çalışma zamanı seçin. Portal içi düzenleme yalnızca JavaScript, PowerShell, Python, TypeScript ve C# betiği için kullanılabilir. C# sınıf kitaplığı ve Java işlevleri yerel olarak geliştirilmelidir.
    Sürüm Sürüm numarası Yüklü çalışma zamanınızın sürümünü seçin.
    Bölge Tercih edilen bölge Size yakın veya işlevlerinizin erişebileceği diğer hizmetlere yakın bir bölge seçin.
    İşletim sistemi Windows Çalışma zamanı yığını seçiminize göre bir işletim sistemi sizin için önceden seçilmiştir, ancak gerekirse ayarı değiştirebilirsiniz. Portal içi düzenleme yalnızca Windows'ta desteklenir.
  5. Depolama sekmesinde yeni bir depolama hesabı oluşturmanın varsayılan davranışı ve İzleme sekmesinde yeni bir Application Insight örneği de dahil olmak üzere, kalan sekmelerdeki varsayılan seçenekleri kabul edin. Ayrıca mevcut bir depolama hesabını veya Uygulama Analizler örneğini kullanmayı da seçebilirsiniz.

  6. Gözden geçir + oluştur'u seçerek seçtiğiniz uygulama yapılandırmasını gözden geçirin ve ardından oluştur'u seçerek işlev uygulamasını sağlayın ve dağıtın.

  7. Portalın sağ üst köşesindeki Bildirimler simgesini seçin ve Dağıtım başarılı iletisini izleyin.

  8. Yeni işlev uygulamanızı görüntülemek için Kaynağa git’i seçin. Panoya sabitle'yi de seçebilirsiniz. Sabitleme, panonuzdan bu işlev uygulaması kaynağına geri dönmeyi kolaylaştırır.

    Dağıtım bildiriminin ekran görüntüsü.

Ardından, yeni işlev uygulamasında bir işlev oluşturun.

Azure Cosmos DB tetikleyicisi oluşturma

  1. İşlev uygulamanızda Genel Bakış'ı ve ardından İşlevler'in altında + Oluştur'useçin.

  2. Şablon seçin altında aşağı kaydırın ve Azure Cosmos DB tetikleyici şablonunu seçin.

  3. Şablon ayrıntıları bölümünde yeni tetikleyiciyi bu tabloda belirtilen ayarlarla yapılandırın ve oluştur'u seçin:

    Ayar Önerilen değer Açıklama
    Yeni işlev Varsayılan adı kabul edin İşlevin adı.
    Azure Cosmos DB hesabı bağlantısı Varsayılan yeni adı kabul et Yeni'yi, daha önce oluşturduğunuz Veritabanı Hesabı'nı ve ardından Tamam'ı seçin. Bu eylem, hesap bağlantınız için bir uygulama ayarı oluşturur. Bu ayar bağlama tarafından veritabanı bağlantısı için kullanılır.
    Veritabanı adı Görevler İzlenecek koleksiyonu içeren veritabanının adı.
    Koleksiyon adı Items İzlenecek koleksiyonun adı.
    Kiralamalar için koleksiyon adı leases Kiraları depolamak için koleksiyonun adı.
    Yoksa kira koleksiyonu oluşturma Yes Kira koleksiyonunun varlığını denetler ve otomatik olarak oluşturur.

    Azure, sağlanan değerlere göre Azure Cosmos DB ile tetiklenen işlevi oluşturur.

  4. Şablon tabanlı işlev kodunu görüntülemek için Kod + Test'i seçin.

    C'de Azure Cosmos DB işlev şablonu#

    Bu işlev şablonu, günlüklere belge sayısını ve ilk belgenin kimliğini yazar.

Ardından Azure Cosmos DB hesabınıza bağlanacak ve kapsayıcıyı ItemsTasks veritabanında oluşturacaksınız.

Items kapsayıcısını oluşturma

  1. Tarayıcıdaki yeni bir sekmede Azure portalının ikinci bir örneğini açın.

  2. Portalın sol tarafındaki simge çubuğunu genişletin, arama alanına cosmos yazıp Azure Cosmos DB’yi seçin.

    Azure Cosmos DB hizmetini arama

  3. Azure Cosmos DB hesabınızı seçin ve ardından Veri Gezgini’ni seçin.

  4. SQL API'sinde Görevler veritabanı'nı ve ardından Yeni Kapsayıcı'yı seçin.

    Kapsayıcı oluşturma

  5. Kapsayıcı Ekle'de, görüntünün altındaki tabloda gösterilen ayarları kullanın.

    Görevler kapsayıcısını tanımlama

    Ayar Önerilen değer Açıklama
    Veritabanı Kimliği Görevler Yeni veritabanınızın adı. Bu, işlev bağlamanızda tanımlanan adla eşleşmelidir.
    Kapsayıcı Kimliği Items Yeni kapsayıcının adı. Bu, işlev bağlamanızda tanımlanan adla eşleşmelidir.
    Bölüm anahtarı /kategori Verileri her bölüme eşit şekilde dağıtan bir bölüm anahtarı. Performansa sahip bir kapsayıcı oluşturmada doğru bölüm anahtarının seçilmesi önemlidir.
    İşlem hızı 400 RU Varsayılan değeri kullanın. Daha sonra gecikme süresini azaltmak isterseniz işlem hızının ölçeğini artırabilirsiniz.
  6. Items kapsayıcısını oluşturmak için Tamam'a tıklayın. Kapsayıcının oluşturulması kısa sürebilir.

İşlev bağlamasında belirtilen kapsayıcı mevcut olduktan sonra, bu yeni kapsayıcıya öğe ekleyerek işlevi test edebilirsiniz.

İşlevi test etme

  1. Veri Gezgini'da yeni Öğeler kapsayıcısını genişletin, Öğeler'i ve ardından Yeni Öğe'yi seçin.

    Items kapsayıcısında öğe oluşturma

  2. Yeni öğenin içeriğini aşağıdaki içerikle değiştirin ve kaydet'i seçin.

    {
        "id": "task1",
        "category": "general",
        "description": "some task"
    }
    
  3. Portalda işlevinizi içeren ilk tarayıcı sekmesine geçin. İşlev günlüklerini genişletin ve yeni belgenin işlevi tetiklediğini doğrulayın. task1 belge kimliğinin günlüklere yazılıp yazılmadığına bakın.

    Günlüklerde iletiyi görüntüleyin.

  4. (İsteğe bağlı) Belgenize dönerek bir değişiklik yapın ve Güncelleştir’e tıklayın. Sonra işlev günlüklerine dönerek güncelleştirmenin işlevi de tetiklediğini doğrulayın.

Kaynakları temizleme

Bu koleksiyondaki diğer hızlı başlangıçlar, bu hızlı başlangıcı temel alır. Sonraki hızlı başlangıçlar, öğreticiler veya bu hızlı başlangıçta oluşturduğunuz hizmetlerden herhangi biriyle çalışmayı planlıyorsanız kaynakları temizlemeyin.

Azure’da Kaynaklar; işlev uygulamalarını, işlevleri, depolama hesaplarını ve benzeri öğeleri ifade eder. Bunlar kaynak grupları halinde gruplandırılır ve grubu silerek gruptaki her şeyi silebilirsiniz.

Bu hızlı başlangıçları tamamlamak için kaynaklar oluşturdunuz. Hesap durumunuz ve hizmet fiyatlandırmanıza bağlı olarak bu kaynaklar için faturalandırılabilirsiniz. Kaynaklara artık ihtiyacınız yoksa, şunları yaparak silebilirsiniz:

  1. Azure portalında Kaynak grubu sayfasına gidin.

    İşlev uygulaması sayfasından bu sayfaya ulaşmak için Genel Bakış sekmesini ve ardından Kaynak grubu altındaki bağlantıyı seçin.

    İşlev uygulaması sayfasından silinecek kaynak grubunu seçmeyi gösteren ekran görüntüsü.

    Panodan bu sayfaya ulaşmak için Kaynak grupları'nı ve ardından bu makalede kullandığınız kaynak grubunu seçin.

  2. Kaynak grubu sayfasında, dahil edilen kaynakların listesini gözden geçirin ve bunların silmek istediğiniz kaynaklar olduğunu doğrulayın.

  3. Kaynak grubunu sil'i seçin ve yönergeleri izleyin.

    Silme işlemi birkaç dakika sürebilir. İşlem tamamlandığında, birkaç saniye boyunca bir bildirim görüntülenir. Bildirimi görüntülemek için sayfanın üst kısmındaki zil simgesini de seçebilirsiniz.

Sonraki adımlar

Azure Cosmos DB’nizde bir belge eklendiğinde ya da değiştirildiğinde çalışan bir işlev oluşturdunuz. Azure Cosmos DB tetikleyicileri hakkında daha fazla bilgi için bkz. Azure İşlevleri için Azure Cosmos DB bağlamaları.

İlk işlevinizi oluşturduğunuza göre, işleve bir Depolama kuyruğuna ileti yazan bir çıkış bağlaması ekleyelim.