Öğ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.
azure-service-bus GitHub deposunu kopya edin veya zip dosyasını indirip dosya ayıklar.
Visual Studio\samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 klasörüne gidin ve SBEventGridIntegration.sln dosyasını açın.
Yeni Çözüm Gezgini MessageSender projesini genişletin ve Program.cs'yi seçin.
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>";Service Bus konu başlığına 5 test mesajı (
const int numberOfMessages = 5;) göndermek için programı Service Bus çalıştırın.
Logic Apps’i kullanarak ileti alma
Bu adımda, Service Bus aracılığıyla olay alan bir Azure mantıksal Azure Event Grid.
- Uygulamanın içinde bir mantıksal uygulama Azure portal.
- + Kaynak oluştur'a, Tümleştirme'ye ve ardından Mantıksal Uygulama'ya seçin.
- Azure aboneliğinizi seçin.
- 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.
- Tür olarak Tüketim'i seçin.
- Mantıksal uygulama için bir ad girin.
- Mantıksal uygulama için Bölge'yi seçin.
- Gözden geçir + Oluştur’u seçin.
- Mantıksal uygulamayı oluşturmak için Gözden Geçir ve Oluştur sayfasında Oluştur'a tıklayın.
- Dağıtım tamamlandı sayfasında Kaynağa git'i seçin.
- 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
- Tasarımcıda aşağıdaki adımları uygulayın:
Event Grid.
Kaynak olayı oluştuğunda - Azure Event Grid.

- Oturum açma'yi seçin, Azure kimlik bilgilerinizi girin ve Erişime İzin Ver'i seçin.
- Kaynak olayı oluştuğunda sayfasında aşağıdaki adımları uygulayın:
Azure aboneliğinizi seçin.
Kaynak Türü için Microsoft.ServiceBus.Namespaces öğesini seçin.
Kaynak Adı için, kaynak ad Service Bus seçin.
Yeni parametre ekle'yi seçin, SonEk Filtresi'ne tıklayın ve ardından odağı açılan listenin dışına taşıyın.
Soneki Filtresi için, konu aboneliğinizin Service Bus girin.

- Tasarımcıda + Yeni Adım'ı seçin ve aşağıdaki adımları uygulayın:
Service Bus.
Listeden Service Bus'yi seçin.
Eylemler listesinden İleti al'ı seçin.
Konu aboneliğinden ileti al (peek-lock) öğesini seçin.

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

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

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

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
+ Yeni adım’ı seçin.
araması ve ardından Denetim'i seçin.
Eylemler listesinde Her biri 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 bir e-posta göndermek için foreach döngüsüne bir adım ekleyin
For Each döngüsünde Eylem ekle'yi seçin.
Bağlayıcılar ve eylemler içinde ara metin kutusuna Office 365.
Arama Office 365 Outlook'yi seçin.
Eylem listesinde e-posta gönder (V2) öğesini seçin.
E-posta gönder (V2) penceresinde şu adımları izleyin:
Gövde metin kutusunun içinde öğesini seçin ve şu adımları izleyin:
To için bir e-posta adresi girin.
Konu için, konu başlığı aboneliğinden Service Bus İleti girin.
İfadeye geçiş.
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
For Each döngüsünde Eylem ekle'yi seçin.
Son Service Bus listesinden Yeni'yi seçin.
Eylem listesinden Bir konu aboneliğinde iletiyi tamamla'ya tıklayın.
Konu başlığınızı Service Bus seçin.
Konu başlığına bir abonelik seçin.
İletinin Belirteci kilitle için Dinamik içerikten Belirteci Kilitle'yi seçin.

Mantıksal uygulamayı kaydetmek için Logic Apps Tasarımcısı'nda araç çubuğunda Kaydet'i seçin.
Uygulamayı test etme
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.
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.

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 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:
İ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 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.
ayrıca, Service Bus ad alanının olaylar sayfasında teslim edilen olayları görürsünüz.
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.
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.