Öğretici: Azure Event Grid kullanarak Service Bus Azure Azure Logic Apps

Bu öğreticide, Azure Event Grid aracılığıyla alınan Azure Service Bus olaylarına Azure Logic Apps.

Önkoşullar

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

Service Bus ad alanı oluşturma

Bu öğreticide yer alan yönergeleri izleyin: Hızlı başlangıç: Azure portal bir Service Bus ve abonelikler oluşturmak için aşağıdaki görevleri gerçekleştirin:

  • Ad alanı için premium Service Bus oluşturun.
  • Bağlantı dizesini alır.
  • Yeni bir Service Bus 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ıza gerek yoktur.

Service Bus konu başlığına ileti gönderme

Bu adımda, önceki adımda oluşturduğunuz konu başlığına ileti Service Bus örnek bir uygulama kullanırsınız.

  1. azure-service-bus GitHub deposunu kopya edin veya zip dosyasını indirip dosya ayıklar.

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

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

  4. yerine <SERVICE BUS NAMESPACE - CONNECTION STRING> ad alanınıza bağlantı Service Bus ve <TOPIC NAME> yerine konunun adını yazın.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Service Bus konu başlığına 5 test mesajı ( const int numberOfMessages = 5; ) göndermek için programı Service Bus çalıştırın.

    Konsol uygulaması çıkışı

Logic Apps’i kullanarak ileti alma

Bu adımda, Service Bus aracılığıyla olay alan bir Azure mantıksal Azure Event Grid.

  1. Uygulamanın içinde bir mantıksal uygulama Azure portal.
    1. + Kaynak oluştur'a, Tümleştirme'ye ve ardından Mantıksal Uygulama'ya seçin.
    2. Azure aboneliğinizi seçin.
    3. Kaynak grubu için Var olanını kullan'ı seçin ve daha önce oluşturduğunuz diğer kaynaklar için (Azure işlevi, Service Bus ad alanı gibi) kaynak grubunu seçin.
    4. Tür olarak Tüketim'i seçin.
    5. Mantıksal uygulama için bir ad girin.
    6. Mantıksal uygulama için Bölge'yi seçin.
    7. Gözden geçir + Oluştur’u seçin.
    8. Mantıksal uygulamayı oluşturmak için Gözden Geçir ve Oluştur sayfasında Oluştur'a tıklayın.
    9. Dağıtım tamamlandı sayfasında Kaynağa git'i seçin.
  2. Logic Apps Tasarımcısı sayfasında, Şablonlar'ın altında Boş Mantıksal Uygulama'ya tıklayın.

Service Bus aracılığıyla Event Grid

  1. Tasarımcıda aşağıdaki adımları uygulayın:
    1. Event Grid.

    2. Kaynak olayı oluştuğunda - Azure Event Grid.

      Logic Apps Tasarımcısı - tetikleyiciyi Event Grid seçin

  2. Oturum açma'yi seçin, Azure kimlik bilgilerinizi girin ve Erişime İzin Ver'i seçin.
  3. Kaynak olayı oluştuğunda sayfasında aşağıdaki adımları uygulayın:
    1. Azure aboneliğinizi seçin.

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

    3. Kaynak Adı için, kaynak ad Service Bus seçin.

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

      Sonek filtresinin eklerini gösteren resim.

    5. Soneki Filtresi için, konu aboneliğinizin Service Bus girin. Logic Apps Tasarımcısı - olayı yapılandırma

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

    2. Listeden Service Bus'yi seçin.

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

    4. Konu aboneliğinden ileti al (peek-lock) öğesini seçin.

      Logic Apps Tasarımcısı - ileti al eylemi

    5. Bağlantı için bir ad girin. Örneğin: Konu aboneliğinden ileti alın ve ad alanı Service Bus seçin.

      Logic Apps Tasarımcısı - Service Bus alanını seçin

    6. RootManageSharedAccessKey öğesini ve ardından Oluştur'a seçin.

      Logic Apps Tasarımcısı - paylaşılan erişim anahtarını seçin

    7. Konu başlığınızı ve aboneliğinizi seçin.

      Konu başlığınızı ve aboneliğinizi nerede seçtnizi gösteren ekran görüntüsü.

Alınan iletileri işlemeye ve tamamlamaya bir adım ekleme

Bu adımda, alınan iletiyi bir e-postayla gönderme ve iletiyi tamamlama adımlarını eksersiniz. Gerçek bir senaryoda, iletiyi tamamlamadan önce mantıksal uygulamada bir iletiyi işleyebilirsiniz.

Foreach döngüsü ekleme

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

  2. araması ve ardından Denetim'i seçin.

    Denetim kategorisi seçimini gösteren resim

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

    Her denetim için seçimini gösteren resim

  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 biri için giriş seçimini gösteren resim

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

  1. For Each döngüsünde Eylem ekle'yi seçin.

    Her döngü için içinde eylem ekle düğmesinin seçimini gösteren resim

  2. Bağlayıcılar ve eylemler içinde ara metin kutusuna Office 365.

  3. Arama Office 365 Outlook'yi seçin.

  4. Eylem listesinde e-posta gönder (V2) öğesini seçin.

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

  6. Gövde metin kutusunun içinde öğesini seçin ve şu adımları izleyin:

    1. To için bir e-posta adresi girin.

    2. Konu için, konu başlığı aboneliğinden Service Bus İleti girin.

    3. İfadeye geçiş.

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

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

  1. For Each döngüsünde Eylem ekle'yi seçin.

    1. Son Service Bus listesinden Yeni'yi seçin.

    2. Eylem listesinden Bir konu aboneliğinde iletiyi tamamla'ya tıklayın.

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

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

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

      Logic Apps Tasarımcısı - iletiyi tamamlama

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

    Mantıksal uygulamayı kaydetme

Uygulamayı test etme

  1. Konuya henüz test iletileri göndermedıysanız, konuya ileti göndermek için Service Bus konu başlığına ileti gönderme bölümündeki yönergeleri izleyin.

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

    Logic Apps Tasarımcısı - mantıksal uygulama çalıştırmaları

  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şlendikten sonra dikkat edin.

    Mantıksal uygulama çalıştırma ayrıntıları

  4. Mantıksal uygulama tarafından alınan her ileti için bir e-posta alasınız.

Sorun giderme

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

  1. İletilerin konu başlığına ulaştığını Service Bus onaylayın. Service Bus Topic (Konu Başlığı) sayfasında gelen iletiler sayacına bakın. Bu durumda, MessageSender uygulamasını iki kez çalıştırarak 10 ileti (her çalıştırma için 5 ileti) görüyorum.

    Service Bus Konu sayfası - gelen iletiler

  2. Service Bus aboneliğinde etkin ileti olmadığını onaylayın. Bu sayfada herhangi bir olay görmüyorsanız, Service Bus Aboneliği sayfasında Etkin ileti sayısı olmadığını doğrulayın. Bu sayacın sayısı sıfırdan büyükse, herhangi bir nedenle abonelikte iletiler işleyici işlevine (olay aboneliği işleyicisi) iletilen değildir. Olay aboneliğini düzgün ayarlamış olduğunu doğrulayın.

    Service Bus aboneliğindeki etkin ileti sayısı

  3. ayrıca, Service Bus ad alanının olaylar sayfasında teslim edilen olayları görürsünüz.

    Olaylar sayfasına teslim edilen olaylar

  4. Olayların olay aboneliği sayfasında teslim edildiğini de görebilirsiniz. Olaylar sayfasında olay aboneliğini seçerek bu sayfaya ulaşabilirsiniz.

    Olay aboneliği sayfasına teslim edilen olaylar

Sonraki adımlar