Öğretici: Azure Logic Apps kullanarak Azure Event Grid aracılığıyla alınan Azure Service Bus olaylarını yanıtlama

Bu öğreticide, Azure Logic Apps kullanarak Azure Event Grid aracılığıyla alınan Azure Service Bus olaylarına nasıl yanıt vereceğinizi öğreneceksiniz.

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Service Bus ad alanı oluşturma

Bu öğreticideki yönergeleri izleyin: Hızlı Başlangıç: Aşağıdaki görevleri yerine getirmek üzere Bir Service Bus konusu ve konu başlığına abonelikler oluşturmak için Azure portalını kullanın:

  • Premium bir Service Bus ad alanı oluşturun.
  • bağlantı dizesi alın.
  • Service Bus konusu oluşturun.
  • Konu başlığına bir abonelik oluşturun. Bu öğreticide yalnızca bir aboneliğe ihtiyacınız vardır, bu nedenle S2 ve S3 abonelikleri oluşturmanız gerekmez.

Service Bus konusuna ileti gönderme

Bu adımda, önceki adımda oluşturduğunuz Service Bus konusuna ileti göndermek için örnek bir uygulama kullanırsınız.

  1. GitHub azure-service-bus deposunu kopyalayın veya zip dosyasını indirip dosya ayıklayın.

  2. Visual Studio'da \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 klasörüne gidin ve SBEventGridIntegration.sln dosyasını açın.

  3. Çözüm Gezgini penceresinde MessageSender projesini genişletin ve Program.cs seçin.

  4. değerini Service Bus ad alanınızın bağlantı dizesi ve <TOPIC NAME> konunun adıyla değiştirin<SERVICE BUS NAMESPACE - CONNECTION STRING>.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Service Bus konusuna 5 test iletisi (const int numberOfMessages = 5;) göndermek için programı derleyin ve çalıştırın.

    Konsol uygulaması çıkışı

Logic Apps’i kullanarak ileti alma

Bu adımda, Azure Event Grid aracılığıyla Service Bus olaylarını alan bir Azure mantıksal uygulaması oluşturursunuz.

  1. + Kaynak oluştur'u seçin, Tümleştirme'yi ve ardından Mantıksal Uygulama'yı seçin.

    Kaynak oluştur - Tümleştirme ->> Mantıksal uygulama menüsünü gösteren ekran görüntüsü.

  2. Mantıksal Uygulama Oluştur sayfasında şu adımları izleyin:

    1. Azure aboneliğinizi seçin.
    2. Kaynak grubu için Var olanı kullan'ı seçin ve daha önce oluşturduğunuz diğer kaynaklar (Azure işlevi, Service Bus ad alanı gibi) için kullandığınız kaynak grubunu seçin.
    3. Mantıksal uygulama için bir ad girin.
    4. Mantıksal uygulama için Bölge'yi seçin.
    5. Plan türü için Tüketim'i seçin.
    6. Gözden geçir + Oluştur’u seçin. Mantıksal uygulama oluştur sayfasını gösteren ekran görüntüsü.
    7. Mantıksal uygulamayı oluşturmak için Gözden Geçir + Oluştur sayfasında Oluştur'u seçin.
  3. Dağıtım tamamlandı sayfasında Kaynağa git'i seçerek Mantıksal uygulama sayfasına gidin.

  4. Logic Apps Tasarım Aracı sayfasında Şablonlar'ın altında Boş Mantıksal Uygulama'yıseçin.

Event Grid aracılığıyla Service Bus'tan ileti alma adımı ekleme

  1. Mantıksal uygulama sayfasında, soldaki menüden Mantıksal uygulama tasarımcısı'nı seçin.

  2. Sağ bölmedeki Şablonlar'ın altında Boş Mantıksal Uygulama'yı seçin.

    Boş mantıksal uygulama seçeneğinin seçili olduğu Mantıksal uygulama tasarımcısı sayfasını gösteren ekran görüntüsü.

  3. Tasarımcıda aşağıdaki adımları uygulayın:

    1. Event Grid'i arayın.

    2. Kaynak olayı gerçekleştiğinde - Azure Event Grid'i seçin.

      Event Grid tetikleyicisinin seçili olduğu Logic Apps Tasarım Aracı gösteren ekran görüntüsü.

  4. Oturum aç'ı seçin.

    Oturum aç düğmesinin seçili olduğu Logic Apps Tasarım Aracı gösteren ekran görüntüsü.

  5. Hesabınızda oturum açın sayfasında Azure'da oturum açmak için kullanmak istediğiniz hesabı seçin. 1.

  6. Kaynak olayı gerçekleştiğinde sayfasında aşağıdaki adımları uygulayın:

    1. Azure aboneliği seçin.

    2. Kaynak Türü için Microsoft.ServiceBus.Namespaces öğesini seçin.

    3. Kaynak Adı için Service Bus ad alanınızı seçin.

    4. Yeni parametre ekle'yi seçin, Sonek Filtresi'ni seçin ve ardından odağı açılan listenin dışına taşıyın.

      Sonek filtresi türünde yeni bir parametre eklemeyi gösteren ekran görüntüsü.

    5. SonEk Filtresi için Service Bus konu aboneliğinizin adını girin.

      Service Bus ad alanı için bağlantı yapılandırmasına sahip Logic Apps Tasarım Aracı gösteren ekran görüntüsü.

  7. Tasarımcıda + Yeni Adım'ı seçin ve aşağıdaki adımları uygulayın:

    1. Service Bus için arama.

    2. Listeden Service Bus'ı seçin.

      Service Bus seçimini gösteren ekran görüntüsü.

    3. Eylemler listesinde İleti al'ı seçin.

    4. Konu aboneliğinden ileti al (peek-lock) seçeneğini belirleyin.

      Konu aboneliğinden ileti al seçeneğinin seçili olduğu Logic Apps Tasarım Aracı gösteren ekran görüntüsü.

    5. Şu adımları izleyin:

      1. Bağlantı için bir ad girin. Örneğin: Konu aboneliğinden ileti alma.

      2. Kimlik Doğrulama Türü'nin Erişim Anahtarı olarak ayarlandığını onaylayın.

      3. Bağlan ion Dizesi için, bağlantı dizesi kopyalayıp daha önce kaydettiğiniz Service Bus ad alanına yapıştırın.

      4. Oluştur'u belirleyin.

        Service Bus bağlantı dizesi belirtilen Logic Apps Tasarım Aracı gösteren ekran görüntüsü.

    6. Konunuzu ve aboneliğinizi seçin.

      Service Bus konusu ve aboneliği belirtilen Logic Apps Tasarım Aracı gösteren ekran görüntüsü.

Alınan iletileri işlemek ve tamamlamak için bir adım ekleme

Bu adımda, alınan iletiyi e-postayla göndermeye ve ardından iletiyi tamamlamaya yönelik adımlar eklersiniz. Gerçek dünya senaryosunda, iletiyi tamamlamadan önce mantıksal uygulamada bir iletiyi işlersiniz.

Foreach döngüsü ekleme

  1. + Yeni adım'ı seçin.

  2. Arama yapın ve ardından Denetim'i seçin.

    Denetim kategorisini gösteren ekran görüntüsü.

  3. Eylemler listesinde Her için'i seçin.

    Her biri için işleminin seçili olduğunu gösteren ekran görüntüsü.

  4. Önceki adımlardan bir çıkış seçin (gerekirse metin kutusunun içine tıklayın) için Konu aboneliğinden ileti al (peek-lock) altında Gövde'yi seçin.

    Her giriş için seçimini gösteren ekran görüntüsü.

İleti gövdesiyle e-posta göndermek için foreach döngüsünün içine bir adım ekleyin

  1. Her döngü için içinde Eylem ekle'yi seçin.

    Her biri için döngüsünde Eylem ekle düğmesinin seçimini gösteren ekran görüntüsü.

  2. Bağlayıcılar ve eylemlerde ara metin kutusuna Office 365 yazın.

  3. Arama sonuçlarında Office 365 Outlook'u seçin.

    Office 365 seçimini gösteren ekran görüntüsü.

  4. Eylem listesinde E-posta gönder (V2) seçeneğini belirleyin.

    E-posta gönder işleminin seçimini gösteren ekran görüntüsü.

  5. Oturum aç'ı seçin ve Office 365 Outlook bağlantısı oluşturmak için adımları izleyin.

  6. E-posta gönder (V2) penceresinde şu adımları izleyin:

  7. Gövde metin kutusunun içini seçin ve şu adımları izleyin:

    1. Son alanına bir e-posta adresi girin.

    2. Konu alanına Service Bus konusunun aboneliğinden alınan ileti girin.

    3. İfadeye geçin.

    4. Aşağıdaki ifadeyi girin:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Tamam'ı seçin.

      E-posta gönder etkinliğinin Gövdesi ifadesini gösteren ekran görüntüsü.

İletiyi tamamlamak için foreach döngüsüne başka bir eylem ekleyin

  1. Her döngü için içinde Eylem ekle'yi seçin.

    1. Son listesinde Service Bus'ı seçin.

    2. Eylem listesinden Konu aboneliğindeki iletiyi tamamla'yı seçin.

      Konu aboneliğinde iletiyi tamamlama seçimini gösteren ekran görüntüsü.

    3. Service Bus konu başlığınızı seçin.

    4. Konu başlığına bir abonelik seçin.

    5. İletinin belirtecini kilitle için Dinamik içerikten Belirteci Kilitle'yi seçin.

      Kilit belirteci alanını gösteren ekran görüntüsü.

  2. Mantıksal uygulamayı kaydetmek için Logic Apps Tasarım Aracı araç çubuğunda Kaydet'i seçin.

    Tasarlanan Mantıksal uygulamadaki Kaydet düğmesini gösteren ekran görüntüsü.

Uygulamayı test etme

  1. Konuya henüz test iletileri göndermediyseniz, konuya ileti göndermek için Service Bus konusuna ileti gönderme bölümündeki yönergeleri izleyin.

  2. Mantıksal uygulamanızın Genel Bakış sayfasına geçin ve ardından alt bölmedeki Çalıştırma geçmişi sekmesine geçin. Mantıksal uygulamanın konuya gönderilen iletileri çalıştırdığını görürsünüz. Mantıksal uygulamanın çalıştığını görmeniz birkaç dakika sürebilir. Sayfayı yenilemek için araç çubuğunda Yenile'yi seçin.

    Mantıksal uygulama çalıştırma geçmişini gösteren ekran görüntüsü.

  3. Ayrıntıları görmek için bir mantıksal uygulama çalıştırması seçin. for döngüsünde 5 ileti işlediğine dikkat edin.

    Seçili mantıksal uygulama çalıştırmasının ayrıntılarını gösteren ekran görüntüsü.

  4. Mantıksal uygulamanın aldığı her ileti için bir e-posta almalısınız.

    Konuların aboneliğinden alınan iletilerin yer aldığı Outlook'un ekran görüntüsü.

Sorun giderme

Bir süre bekledikten ve yenilendikten sonra herhangi bir çağrı görmüyorsanız şu adımları izleyin:

  1. İletilerin Service Bus konusuna ulaştığını onaylayın. Service Bus Konusu sayfasında gelen iletiler sayacına bakın. Bu durumda, MessageSender uygulamasını bir kez çalıştırdım, bu nedenle 5 ileti görüyorum.

    Gelen ileti sayısının seçili olduğu Service Bus Konusu sayfasını gösteren ekran görüntüsü.

  2. Service Bus aboneliğinde etkin ileti olmadığını onaylayın. Bu sayfada hiçbir olay görmüyorsanız Service Bus Aboneliği sayfasında Etkin ileti sayısı gösterilmediğini doğrulayın. Bu sayacın sayısı sıfırdan büyükse, abonelikte iletiler bir nedenle işleyici işlevine (olay aboneliği işleyicisi) iletilir. Olay aboneliğini düzgün ayarladığınızdan emin olun.

    Etkin ileti sayısının seçili olduğu Service Bus Aboneliği sayfasını gösteren ekran görüntüsü.

  3. Service Bus ad alanının Olaylar sayfasında teslim edilen olayları da görürsünüz.

    Service Bus Ad Alanı sayfasının Olaylar sayfasını gösteren ekran görüntüsü.

  4. Olayların Olay Aboneliği sayfasından teslim edildiklerine de bakabilirsiniz. Olaylar sayfasında olay aboneliğini seçerek bu sayfaya ulaşabilirsiniz.

    Teslim edilen olay sayısının seçili olduğu Olay Aboneliği sayfasını gösteren ekran görüntüsü.

Sonraki adımlar