Azure Logic Apps'te iletileri gönderme, alma ve toplu işleme

Şunlar için geçerlidir: Azure Logic Apps (Tüketim)

İletileri grup olarak belirli bir şekilde birlikte göndermek ve işlemek için bir toplu iş çözümü oluşturabilirsiniz. Bu çözüm iletileri toplu iş halinde toplar ve toplu iletileri serbest bırakmadan ve işlemeden önce belirtilen ölçütleriniz karşılanana kadar bekler. Toplu işlem, mantıksal uygulamanızın iletileri işleme sıklıklarını azaltabilir.

Bu nasıl yapılır kılavuzunda, aynı Azure aboneliğinde, Azure bölgesinde ve şu sırayla iki mantıksal uygulama oluşturarak toplu iş çözümü oluşturmayı gösterir:

  1. Bu iletileri serbest bırakmak ve işlemek için belirtilen ölçütleriniz karşılanana kadar iletileri kabul eden ve toplu olarak toplayan "batch alıcısı" mantıksal uygulaması. Daha sonra toplu iş gönderenini oluştururken toplu iş hedefini seçebilmeniz için önce bu toplu iş alıcısını oluşturduğunuzdan emin olun.

  2. İletileri önceden oluşturulmuş toplu iş alıcısına gönderen bir veya daha fazla "toplu gönderen" mantıksal uygulaması.

    Toplu işlemi gönderen, hedef toplu işlemi bu anahtara göre mantıksal alt kümelere bölen veya bölen benzersiz bir anahtar belirtebilir. Örneğin, müşteri numarası benzersiz bir anahtardır. Bu şekilde, alıcı uygulaması aynı anahtara sahip tüm öğeleri toplayabilir ve birlikte işleyebilir.

Toplu iş alıcınızın ve toplu iş göndereninizin aynı Azure aboneliğini ve Azure bölgesini paylaşması gerekir. Bunlar yoksa, toplu iş göndereni oluştururken toplu iş alıcısını seçemezsiniz, çünkü bunlar birbirine görünmez.

Önkoşullar

Sınırlamalar

  • Yayından sonra yalnızca yayımlanan içeriği kaynakla karşılaştırarak bir toplu iş içindeki içeriği de kontrol edebilirsiniz.

  • Toplu işlemi yalnızca toplu iş alıcısında yayın ölçütlerini değiştirerek erken serbest bırakabilirsiniz. Bu kılavuzda açıklanmıştır ve tetikleyicide toplu işlem hala bulunur. Ancak tetikleyici, kaydedilmemiş iletiler için güncelleştirilmiş yayın ölçütlerini kullanır.

Toplu iş alıcısı oluşturma

Toplu işleme ileti gönderebilmeniz için önce bu toplu iş, bu iletileri gönderdiğiniz hedef olarak bulunmalıdır. Bu nedenle öncelikle Batch tetikleyicisiyle başlayan "batch alıcısı" mantıksal uygulamasını oluşturmanız gerekir. Bu şekilde, "toplu gönderen" mantıksal uygulamasını oluşturduğunuzda toplu iş alıcısı mantıksal uygulamasını seçebilirsiniz. Toplu iş alıcısı, bu iletileri serbest bırakmak ve işlemek için belirtilen ölçütleriniz karşılanana kadar iletileri toplamaya devam eder. Toplu iş alıcılarının toplu gönderenler hakkında hiçbir şey bilmesi gerekmezken, toplu gönderenlerin iletileri gönderdikleri hedefi bilmesi gerekir.

  1. Azure portal veya Visual Studio'da şu ada sahip bir mantıksal uygulama oluşturun:BatchReceiver

  2. İş akışı tasarımcısında mantıksal uygulama iş akışınızı başlatan Batch tetikleyicisini ekleyin. Arama kutusuna yazın batchve şu tetikleyiciyi seçin: Batch iletileri

  3. Toplu iş alıcısı için şu özellikleri ayarlayın:

    Özellik Açıklama
    Toplu İş Modu - Satır içi: Toplu iş tetikleyicisinin içinde yayın ölçütlerini tanımlamak için
    - Tümleştirme Hesabı: Tümleştirme hesabı aracılığıyla birden çok yayın ölçütü yapılandırması tanımlamak için. Tümleştirme hesabıyla, bu yapılandırmaların tümünü ayrı mantıksal uygulamalar yerine tek bir yerde tutabilirsiniz.
    Toplu İş Adı Bu örnekte "TestBatch" olan ve yalnızca Satır içi toplu iş moduna uygulanan toplu işleminizin adı
    Yayın Ölçütleri Yalnızca Satır içi toplu iş moduna uygulanır ve her toplu işlemi işlemeden önce karşılanması gereken ölçütleri seçer:

    - İleti sayısı tabanlı: Toplu işlem tarafından toplanan ileti sayısına göre toplu işlemi serbest bırakın.
    - Boyut tabanlı: Toplu işlem tarafından toplanan tüm iletiler için bayt cinsinden toplam boyuta göre toplu işlemi serbest bırakın.
    - Zamanlama: Toplu işlemi bir aralık ve sıklık belirten bir yinelenme zamanlamasına göre serbest bırakın. Gelişmiş seçeneklerde bir saat dilimi seçip başlangıç tarihi ve saati de sağlayabilirsiniz.
    - Tümünü seç: Belirtilen tüm ölçütleri kullanın.

    İleti Sayısı Toplu işlemde toplayacak ileti sayısı(örneğin, 10 ileti). Toplu iş sınırı 8.000 iletidir.
    Toplu İş Boyutu Toplu işlemde toplayacak toplam bayt boyutu (örneğin, 10 MB). Toplu iş boyut sınırı 80 MB'tır.
    Zamanla Toplu yayınlar arasındaki aralık ve sıklık (örneğin, 10 dakika). En düşük yinelenme 60 saniye veya 1 dakikadır. Kesirli dakikalar etkin bir şekilde 1 dakikaya yuvarlanmış olur. Bir saat dilimi veya başlangıç tarihi ve saati belirtmek için Yeni parametre ekle listesini açın ve ilgili özellikleri seçin.

    Not

    Tetikleyici hala toplu ancak yanıtsız iletilere sahipken yayın ölçütlerini değiştirirseniz, tetikleyici, atanmamış iletileri işlemek için güncelleştirilmiş yayın ölçütlerini kullanır.

    Bu örnekte tüm ölçütler gösterilir, ancak kendi testiniz için tek bir ölçüt deneyin:

    Batch tetikleyicisi ayrıntılarını sağlayın

  4. Şimdi her toplu işlemi işleyen bir veya daha fazla eylem ekleyin.

    Bu örnekte, toplu iş tetikleyicisi tetiklendiğinde e-posta gönderen bir eylem ekleyin. Toplu işlem 10 iletiye sahip olduğunda, 10 MB'a ulaştığında veya 10 dakika geçtikten sonra tetikleyici çalışır ve bir e-posta gönderir.

    1. Toplu iş tetikleyicisinin altında Yeni adım'ı seçin.

    2. Arama kutusuna filtre olarak yazın send email . E-posta sağlayıcınıza göre bir e-posta bağlayıcısı seçin.

      Örneğin, veya @fabrikam.onmicrosoft.comgibi @fabrikam.com bir iş veya okul hesabınız varsa Microsoft 365 Outlook bağlayıcısını seçin. veya @hotmail.comgibi @outlook.com kişisel bir hesabınız varsa Outlook.com bağlayıcısını seçin. Bu örnekte Microsoft 365 Outlook bağlayıcısı kullanılır.

    3. Sağlayıcınız için "e-posta gönder" eylemini seçin, örneğin:

      E-posta sağlayıcınız için

  5. İstenirse, e-posta hesabınızda oturum açın.

  6. Eklediğiniz eylemin özelliklerini ayarlayın.

    • Alıcı kutusuna alıcının e-posta adresini girin. Test için kendi e-posta adresinizi kullanabilirsiniz.

    • Konu kutusunda, dinamik içerik listesi görüntülendiğinde Bölüm Adı alanını seçin.

      Dinamik içerik listesinden

      Daha sonra, toplu iş göndereninde hedef toplu işlemi iletileri gönderebileceğiniz mantıksal alt kümelere bölen benzersiz bir bölüm anahtarı belirtebilirsiniz. Her küme, toplu gönderen mantıksal uygulaması tarafından oluşturulan benzersiz bir sayıya sahiptir. Bu özellik, birden çok alt kümeye sahip tek bir toplu iş kullanmanıza ve her alt kümeyi sağladığınız adla tanımlamanıza olanak tanır.

      Önemli

      Bir bölümün sınırı 5.000 ileti veya 80 MB'tır. Herhangi bir koşul karşılanırsa, tanımlı yayın koşulunuz karşılanmasa bile Logic Apps toplu işlemi serbest bırakabilir.

    • Gövde kutusunda dinamik içerik listesi görüntülendiğinde İleti Kimliği alanını seçin.

      İş akışı tasarımcısı, e-posta gönder eyleminin çevresinde her bir döngü için otomatik olarak bir döngü ekler çünkü bu eylem önceki eylemdeki çıkışı toplu işlem yerine bir koleksiyon olarak ele alır.

  7. Mantıksal uygulamanızı kaydedin. Şimdi bir toplu iş alıcısı oluşturdunuz.

    Mantıksal uygulamanızı kaydetme

    Önemli

    Visual Studio kullanıyorsanız, sonraki bölüme geçmeden önce toplu alıcı mantıksal uygulamanızı Azure'a dağıttığınızdan emin olun. Aksi takdirde, toplu iş göndereni oluştururken toplu iş alıcısını seçemezsiniz.

Toplu gönderen oluşturma

Şimdi toplu alıcı mantıksal uygulamasına ileti gönderen bir veya daha fazla toplu gönderen mantıksal uygulaması oluşturun. Her toplu iş göndereninde toplu iş alıcısını ve toplu iş adını, ileti içeriğini ve diğer ayarları belirtirsiniz. İsteğe bağlı olarak, toplu işlemi bu anahtarla ileti toplamak için mantıksal alt kümelere bölmek için benzersiz bir bölüm anahtarı sağlayabilirsiniz.

  1. Bu adla başka bir mantıksal uygulama oluşturun: BatchSender

    1. Arama kutusuna filtre olarak yazın recurrence . Tetikleyiciler listesinden şu tetikleyiciyi seçin: Yinelenme

      Yinelenme tetikleyicisini ekleme

    2. Gönderen mantıksal uygulamasını dakikada bir çalıştırmak için aralığı ve sıklığı ayarlayın.

      Yinelenme tetikleyicisi için sıklığı ve aralığı ayarlama

  2. Toplu işleme ileti göndermek için yeni bir eylem ekleyin.

    1. Yinelenme tetikleyicisinin altında Yeni adım'ı seçin.

    2. Arama kutusuna filtreniz olarak yazın batch ve şu eylemi seçin: Batch tetikleyicisi olan bir Logic Apps iş akışı seçin

      Bir liste görüntülenir ve yalnızca toplu iş tetikleyicileri olan ve toplu iş gönderen mantıksal uygulamanızla aynı Azure bölgesinde ve Azure aboneliğinde bulunan mantıksal uygulamaları gösterir.

    3. Mantıksal uygulamalar listesinden, daha önce oluşturduğunuz toplu alıcı mantıksal uygulamasını seçin.

      Toplu alıcı mantıksal uygulamanızı seçin

      Önemli

      Visual Studio kullanıyorsanız ve seçecek toplu alıcı görmüyorsanız toplu iş alıcınızı daha önce oluşturup Azure'a dağıtıp dağıtmadığınızı denetleyin. Henüz yapmadıysanız toplu işlem alıcı mantıksal uygulamanızı Azure'a dağıtmayı öğrenin.

    4. Eylemler listesinden şu eylemi seçin: Batch_messages - <sizin-logic-app-adınız>

      Şu eylemi seçin:

  3. Toplu gönderenin özelliklerini ayarlayın:

    Özellik Açıklama
    Toplu İş Adı Bu örnekteki alıcı mantıksal uygulaması TestBatch tarafından tanımlanan toplu iş adı

    Önemli: Toplu iş adı çalışma zamanında doğrulanır ve alıcı mantıksal uygulaması tarafından belirtilen adla eşleşmelidir. Toplu iş adını değiştirmek, toplu iş göndereninin başarısız olmasına neden olur.

    İleti İçeriği Göndermek istediğiniz iletinin içeriği

    Not

    Tetikleyici Adı ve İş Akışı özellik değerleri, seçtiğiniz mantıksal uygulamadan otomatik olarak doldurulur.

    Bu örnekte, toplu iş için gönderdiğiniz ileti içeriğine geçerli tarih ve saati ekleyen bu ifadeyi ekleyin:

    1. İleti İçeriği kutusunun içine tıklayın.

    2. Dinamik içerik listesi görüntülendiğinde İfade'yi seçin.

    3. ifadesini utcnow()girin ve Tamam'ı seçin.

  4. Şimdi toplu iş için bir bölüm ayarlayın. Eylemde BatchReceiverYeni parametre ekle listesini açın ve şu özellikleri seçin:

    Özellik Açıklama
    Bölüm Adı Hedef toplu işlemi mantıksal alt kümelere bölmek ve bu anahtarı temel alan iletileri toplamak için kullanılacak isteğe bağlı benzersiz bölüm anahtarı
    İleti Kimliği Boş olduğunda oluşturulan genel olarak benzersiz bir tanımlayıcı (GUID) olan isteğe bağlı bir ileti tanımlayıcısı

    Bu örnekte, Bölüm Adı kutusuna bir ile beş arasında rastgele bir sayı oluşturan bir ifade ekleyin. İleti Kimliği kutusunu boş bırakın.

    1. Dinamik içerik listesinin görünmesi için Bölüm Adı kutusunun içine tıklayın.

    2. Dinamik içerik listesinde İfade'yi seçin.

    3. ifadesini rand(1,6)girin ve Tamam'ı seçin.

      Hedef toplu işleminiz için bölüm ayarlama

      Bu rand işlevi bir ile beş arasında bir sayı oluşturur. Bu nedenle, bu toplu işlemi, bu ifadenin dinamik olarak ayarladığı beş numaralandırılmış bölüme bölersiniz.

  5. Mantıksal uygulamanızı kaydedin. Gönderen mantıksal uygulamanız artık şu örneğe benzer:

    Gönderen mantıksal uygulamanızı kaydetme

Mantıksal uygulamalarınızı test etme

Toplu işlem çözümünüzü test etmek için mantıksal uygulamalarınızı birkaç dakika boyunca çalışır durumda bırakın. Kısa süre sonra, tümü aynı bölüm anahtarına sahip beşli gruplar halinde e-posta almaya başlayacaksınız.

Toplu gönderen mantıksal uygulamanız dakikada bir çalıştırılır ve bir ile beş arasında rastgele bir sayı oluşturur. Toplu işlemi gönderen, iletileri gönderdiğiniz hedef toplu iş için bölüm anahtarı olarak bu rastgele sayıyı kullanır. Toplu işlemde aynı bölüm anahtarına sahip beş öğe bulunduğunda, toplu iş alıcısı mantıksal uygulamanız her ileti için postayı tetikler ve gönderir.

Önemli

Testi tamamladığınızda, ileti göndermeyi durdurmak ve gelen kutunuzu BatchSender aşırı yüklemekten kaçınmak için mantıksal uygulamayı devre dışı bıraktığınızdan emin olun.

Sonraki adımlar