Öğ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.
GitHub azure-service-bus deposunu kopyalayın veya zip dosyasını indirip dosya ayıklayın.
Visual Studio'da \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 klasörüne gidin ve SBEventGridIntegration.sln dosyasını açın.
Çözüm Gezgini penceresinde MessageSender projesini genişletin ve Program.cs seçin.
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>";
Service Bus konusuna 5 test iletisi (
const int numberOfMessages = 5;
) göndermek için programı derleyin ve çalıştırın.
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.
+ Kaynak oluştur'u seçin, Tümleştirme'yi ve ardından Mantıksal Uygulama'yı seçin.
Mantıksal Uygulama Oluştur sayfasında şu adımları izleyin:
- Azure aboneliğinizi seçin.
- 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.
- Mantıksal uygulama için bir ad girin.
- Mantıksal uygulama için Bölge'yi seçin.
- Plan türü için Tüketim'i seçin.
- Gözden geçir + Oluştur’u seçin.
- Mantıksal uygulamayı oluşturmak için Gözden Geçir + Oluştur sayfasında Oluştur'u seçin.
Dağıtım tamamlandı sayfasında Kaynağa git'i seçerek Mantıksal uygulama sayfasına gidin.
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
Mantıksal uygulama sayfasında, soldaki menüden Mantıksal uygulama tasarımcısı'nı seçin.
Sağ bölmedeki Şablonlar'ın altında Boş Mantıksal Uygulama'yı seçin.
Tasarımcıda aşağıdaki adımları uygulayın:
Event Grid'i arayın.
Kaynak olayı gerçekleştiğinde - Azure Event Grid'i seçin.
Oturum aç'ı seçin.
Hesabınızda oturum açın sayfasında Azure'da oturum açmak için kullanmak istediğiniz hesabı seçin. 1.
Kaynak olayı gerçekleştiğinde sayfasında aşağıdaki adımları uygulayın:
Azure aboneliği seçin.
Kaynak Türü için Microsoft.ServiceBus.Namespaces öğesini seçin.
Kaynak Adı için Service Bus ad alanınızı seçin.
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 için Service Bus konu aboneliğinizin adını girin.
Tasarımcıda + Yeni Adım'ı seçin ve aşağıdaki adımları uygulayın:
Service Bus için arama.
Listeden Service Bus'ı seçin.
Eylemler listesinde İleti al'ı seçin.
Konu aboneliğinden ileti al (peek-lock) seçeneğini belirleyin.
Şu adımları izleyin:
Bağlantı için bir ad girin. Örneğin: Konu aboneliğinden ileti alma.
Kimlik Doğrulama Türü'nin Erişim Anahtarı olarak ayarlandığını onaylayın.
Bağlan ion Dizesi için, bağlantı dizesi kopyalayıp daha önce kaydettiğiniz Service Bus ad alanına yapıştırın.
Oluştur'u belirleyin.
Konunuzu ve aboneliğinizi seçin.
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
+ Yeni adım'ı seçin.
Arama yapın ve ardından Denetim'i seçin.
Eylemler listesinde Her için'i seçin.
Ö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.
İleti gövdesiyle e-posta göndermek için foreach döngüsünün içine bir adım ekleyin
Her döngü için içinde Eylem ekle'yi seçin.
Bağlayıcılar ve eylemlerde ara metin kutusuna Office 365 yazın.
Arama sonuçlarında Office 365 Outlook'u seçin.
Eylem listesinde E-posta gönder (V2) seçeneğini belirleyin.
Oturum aç'ı seçin ve Office 365 Outlook bağlantısı oluşturmak için adımları izleyin.
E-posta gönder (V2) penceresinde şu adımları izleyin:
Gövde metin kutusunun içini seçin ve şu adımları izleyin:
Son alanına bir e-posta adresi girin.
Konu alanına Service Bus konusunun aboneliğinden alınan ileti girin.
İfadeye geçin.
Aşağıdaki ifadeyi girin:
base64ToString(items('For_each')?['ContentData'])
Tamam'ı seçin.
İletiyi tamamlamak için foreach döngüsüne başka bir eylem ekleyin
Her döngü için içinde Eylem ekle'yi seçin.
Son listesinde Service Bus'ı seçin.
Eylem listesinden Konu aboneliğindeki iletiyi tamamla'yı seçin.
Service Bus konu başlığınızı seçin.
Konu başlığına bir abonelik seçin.
İletinin belirtecini kilitle için Dinamik içerikten Belirteci Kilitle'yi seçin.
Mantıksal uygulamayı kaydetmek için Logic Apps Tasarım Aracı araç çubuğunda Kaydet'i seçin.
Uygulamayı test etme
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.
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.
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.
Mantıksal uygulamanın aldığı her ileti için bir e-posta almalısınız.
Sorun giderme
Bir süre bekledikten ve yenilendikten sonra herhangi bir çağrı görmüyorsanız şu adımları izleyin:
İ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.
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.
Service Bus ad alanının Olaylar sayfasında teslim edilen olayları da görürsünüz.
Olayların Olay Aboneliği sayfasından teslim edildiklerine de bakabilirsiniz. Olaylar sayfasında olay aboneliğini seçerek bu sayfaya ulaşabilirsiniz.
Sonraki adımlar
- Azure Event Grid hakkında daha fazla bilgi edinin.
- Azure İşlevleri hakkında daha fazla bilgi edinin.
- Azure App Service’in Logic Apps özelliği hakkında daha fazla bilgi edinin.
- Azure Service Bus hakkında daha fazla bilgi edinin.