Öğretici: Event Grid ve Logic Apps kullanarak Azure IoT Hub olayları hakkında e-posta bildirimleri gönderme
Azure Event Grid, aşağı akış iş uygulamalarınızda eylemler tetikleyerek IoT Hub'daki olaylara karşılık vermenize olanak tanır.
Bu makalede IoT Hub ve Event Grid kullanan bir örnek yapılandırma gösterilmektedir. Son olarak, bir cihaz IoT Hub 'ınıza her bağlanıp bağlantısı kesildiğinde bir bildirim e-postası gönderecek şekilde ayarlanmış bir Azure mantıksal uygulamanız vardır. Event Grid, bağlantının kesilmesi için zamanında bildirim almak üzere kullanılabilir. Ölçümler ve Tanılamalar birkaç sürebilir (yani, 20 veya daha fazla), günlüklerde/uyarılarda göstermek için dakikalar içinde bir sayı koymak istemezsiniz. Bu, kritik altyapı için kabul edilemez olabilir.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
- Office 365 Outlook veya Outlook.com gibi Azure Logic Apps tarafından desteklenen herhangi bir e-posta sağlayıcısından bir e-posta hesabı. Bu e-posta hesabı olay bildirimlerini göndermek için kullanılır.
Azure Cloud Shell'Da Bash ortamını kullanın.
Dilerseniz CLI başvuru komutlarını çalıştırmak için Azure CLI’yi yükleyebilirsiniz.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Ek oturum açma seçenekleri için bkz. Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantılarını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
IoT hub oluşturma
Portalda Azure Cloud Shell terminali kullanarak hızlı bir şekilde yeni bir IoT Hub oluşturabilirsiniz.
Azure portalında oturum açın.
Sayfanın sağ üst köşesinde Cloud Shell düğmesini seçin.

Yeni bir kaynak grubu oluşturmak için şu komutu çalıştırın:
az group create --name {your resource group name} --location westusIoT Hub 'ı oluşturmak için aşağıdaki komutu çalıştırın:
az iot hub create --name {your iot hub name} --resource-group {your resource group name} --sku S1Cloud Shell terminalini en aza indirin. Öğreticinin ilerleyen kısımlarında daha sonra Shell 'e geri döneceksiniz.
Mantıksal uygulama oluşturma
Ardından, bir Logic App oluşturun ve IoT Hub 'ından istekleri işleyen bir HTTP Event Grid tetikleyicisi ekleyin.
Mantıksal uygulama kaynağı oluşturma
Azure Portal, kaynak oluştur' u seçin, sonra arama kutusuna "Logic App" yazın ve geri dön ' ü seçin. Sonuçlardan Logic App ' i seçin.

Sonraki ekranda Oluştur' u seçin.
Mantıksal uygulamanıza aboneliğiniz içinde benzersiz olan bir ad verin, ardından IoT Hub'ınızla aynı aboneliği, kaynak grubunu ve konumu seçin.

Gözden geçir ve oluştur’u seçin.
Ayarlarınızı doğrulayın ve ardından Oluştur' u seçin.
Kaynak oluşturulduktan sonra Kaynağa Git' i seçin.
Logic Apps tasarımcısında, şablonları görmek için sayfayı aşağı kaydırın. Mantıksal uygulamanızı sıfırdan oluşturabilmeniz için boş mantıksal uygulama ' yı seçin.
Tetikleyici seçme
Tetikleyici, mantıksal uygulamanızı başlatan belirli bir olaydır. Bu öğreticide, iş akışını başlatan tetikleyici HTTP üzerinden bir istek alır.
Bağlayıcılar ve tetikleyiciler arama çubuğunda HTTP yazın.
Sonuçlarda ilerleyin ve Istek ' ı seçin. tetikleyici olarak BIR http isteği alındığında .

Şema oluşturmak için örnek yük kullanma öğesini seçin.

Cihaza bağlı olay şeması JSON 'sini metin kutusuna yapıştırın, sonra bitti' yi seçin:
[{ "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8", "topic": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group name>/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/<hub name>", "subject": "devices/LogicAppTestDevice", "eventType": "Microsoft.Devices.DeviceConnected", "eventTime": "2018-06-02T19:17:44.4383997Z", "data": { "deviceConnectionStateEventInfo": { "sequenceNumber": "000000000000000001D4132452F67CE200000002000000000000000000000001" }, "hubName": "egtesthub1", "deviceId": "LogicAppTestDevice", "moduleId" : "DeviceModuleID" }, "dataVersion": "1", "metadataVersion": "1" }]Bu olay bir cihaz IoT Hub 'ına bağlandığında yayınlar.
Not
İsteğinize Uygulama/JSON olarak ayarlanmış bir Content-Type üst bilgisi eklemeyi unutmayın önerisinin bulunduğu bir açılan bildirim alabilirsiniz. Bu öneriyi güvenle yoksayabilir ve sonraki bölüme geçebilirsiniz.
Eylem oluşturma
Eylemler, tetikleyici mantıksal uygulama iş yükünü başlattıktan sonra gerçekleşen adımlardır. Bu öğreticide, e-posta sağlayıcınızdan bir e-posta bildirimi gönderme eylemi kullanılır.
Yeni adım'ı seçin. Bu işlem, bir eylemi seçmek için bir pencere açar.
Outlook için arama yapın.
E-posta sağlayıcınıza uygun bağlayıcıyı bulun ve seçin. Bu öğretici Outlook.com kullanır. Diğer e-posta sağlayıcılarının adımları da bunlara benzer.

E-posta gönder (v2) eylemini seçin.
Oturum aç ' ı seçin ve e-posta hesabınızda oturum açın. Uygulamanın bilgilerinize erişmesine izin vermek için Evet ' i seçin.
E-posta şablonunuzu oluşturun.
Kime: Bildirim e-postalarını alacak e-posta adresini girin. Bu öğreticide, test için erişebileceğiniz bir e-posta hesabı kullanın.
Konu: Konunun metnini girin. Konu metin kutusuna tıkladığınızda, içerilecek dinamik içerik ' i seçebilirsiniz. Örneğin, bu öğretici kullanır
IoT Hub alert: {eventType}. Dinamik içeriği göremiyorsanız, dinamik Içerik Ekle köprüsünü seçin--Bu, açıp kapatır.Gövde: E-postanız için metni yazın. Olay verilerine göre dinamik içerik eklemek için seçici aracından JSON özelliklerini seçin. Dinamik içeriği göremiyorsanız gövde metin kutusu altında dinamik içerik Ekle köprüsünü seçin. İstediğiniz alanları göstermezse, önceki eylemden alanları dahil etmek için dinamik içerik ekranında daha fazla ' ya tıklayın.
E-posta şablonunuz, aşağıdaki örneğe benzer görünebilir:

Logic Apps Tasarımcısı’nda Kaydet’i seçin.
HTTP URL'sini kopyalama
Logic Apps Tasarımcısı'ndan çıkmadan önce, mantıksal uygulamalarınızın tetikleyici için dinlediği URL'yi kopyalayın. Bu URL'yi, Event Grid'i yapılandırmak için kullanırsınız.
Bir HTTP isteği alındığında tetikleyici yapılandırma kutusunu tıklayarak genişletin.
Yanındaki kopyala düğmesini seçerek HTTP POST URL değerini kopyalayın.

Sonraki bölümde başvurabilmek için bu URL'yi saklayın.
IoT Hub olayları için aboneliği yapılandırma
Bu bölümde, IoT Hub'ınızı gerçekleşen olayları yayımlamak için yapılandıracaksınız.
Azure portalında IoT Hub'ınıza gidin. Bunu, kaynak grupları' nı seçerek ve ardından Bu öğreticinin kaynak grubunu seçip kaynak listesinden IoT Hub 'ınızı seçerek yapabilirsiniz.
Olaylar'ı seçin.

Olay aboneliği’ni seçin.

Olay aboneliğini aşağıdaki değerlerle oluşturun:
OLAY ABONELİK AYRINTILARI bölümünde:
- Olay aboneliği için bir ad sağlayın.
- Olay şeması Için Event Grid şeması ' nı seçin.
KONU AYRINTILARI bölümünde:
- Konu türü'nün IoT Hub olarak ayarlandığını doğrulayın.
- IoT hub adının Kaynak alanındaki değer olarak ayarlandığını doğrulayın.
- Sizin için oluşturulacak Sistem konusu için bir ad girin. Sistem konuları hakkında bilgi edinmek için bkz. sistem konularına genel bakış.
OLAY TÜRLERİ bölümünde:
Olay Türlerine Filtrele açılan menüsünü seçin.
Oluşturulan Cihaz ve cihaz bağlantısı kesildi onay kutularını seçili bırakarak yalnızca cihaz bağlı ve cihaz bağlantısı kesilen cihazların seçimini kaldırın.

UÇ NOKTA AYRINTILARI bölümünde:
- Uç nokta türünü Web kancası olarak seçin.
- Bir uç nokta seçin'i seçin ve mantıksal uygulamanızdan kopyaladığınız URL’yi yapıştırıp seçimi onaylayın.

İşiniz bittiğinde, bölme aşağıdaki örnekteki gibi görünmelidir:

Oluştur’u seçin.
Telemetriyi bağlayan yeni bir cihazın benzetimini yapın
Azure CLı kullanarak bir cihaz bağlantısını hızla taklit ederek mantıksal uygulamanızı test edin.
Terminalinizi yeniden açmak için Cloud Shell düğmesini seçin.
Sanal cihaz kimliği oluşturmak için aşağıdaki komutu çalıştırın:
az iot hub device-identity create --device-id simDevice --hub-name {YourIoTHubName}IoT Hub ve Telemetriyi göndermek için cihazınızın bağlanmasına benzetim yapmak üzere aşağıdaki komutu çalıştırın:
az iot device simulate -d simDevice -n {YourIoTHubName}Sanal cihaz IoT Hub bağlandığında, size bir "DeviceConnected" olayı bildiren bir e-posta gönderilir.
Simülasyon tamamlandığında, size "DeviceConnected bağlantısı kesilen" bir olay bildiren bir e-posta gönderilir.

Kaynakları temizleme
Bu öğreticide Azure aboneliğinize ücret uygulanmasına neden olan kaynaklar kullanılmıştır. Öğreticiyi denemeyi ve sonuçlarınızı test etmeyi tamamladığınızda, saklamak istemediğiniz kaynakları devre dışı bırakın veya silin.
Bu öğreticide oluşturulan tüm kaynakları silmek için kaynak grubunu silin.
Kaynak grupları' nı seçin ve ardından Bu öğretici için oluşturduğunuz kaynak grubunu seçin.
Kaynak grubu bölmesinde kaynak grubunu sil' i seçin. Kaynak grubu adını girmeniz istenir ve ardından onu silebilirsiniz. İçinde bulunan tüm kaynaklar da kaldırılır.
Sonraki adımlar
- Event Grid kullanıp olayları tetikleyerek IoT Hub'ı olaylarına tepki verme hakkında daha fazla bilgi edinin.
- Cihazla bağlantılı ve bağlantısız olayları nasıl sıralayacağınızı öğrenin
- Event Grid ile başka neler yapabileceğinizi öğrenin.
Desteklenen mantıksal uygulama bağlayıcılarının tüm listesi için bkz.
