Öğretici: Azure Event Grid'deki MQTT iletilerini özel konuları kullanarak Azure İşlevleri yönlendirme - Azure portalı
Bu öğreticide, aşağıdaki adımları izleyerek Bir Azure Event Grid ad alanı tarafından alınan MQTT iletilerini Event Grid özel konusu aracılığıyla bir Azure işlevine yönlendirmeyi öğreneceksiniz:
Azure aboneliğiniz yoksa ücretsiz denemeye kaydolabilirsiniz.
Event Grid tetikleyicisi kullanarak Azure işlevi oluşturma
Visual Studio Code kullanarak Azure işlevi oluşturma bölümündeki yönergeleri izleyin, ancak HTTP Tetikleyicisi yerine Azure Event Grid Tetikleyicisi'ni kullanın. Aşağıdaki örneğe benzer bir kod görmeniz gerekir:
using System;
using Azure.Messaging;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace Company.Function
{
public class MyEventGridTriggerFunc
{
private readonly ILogger<MyEventGridTriggerFunc> _logger;
public MyEventGridTriggerFunc(ILogger<MyEventGridTriggerFunc> logger)
{
_logger = logger;
}
[Function(nameof(MyEventGridTriggerFunc))]
public void Run([EventGridTrigger] CloudEvent cloudEvent)
{
_logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject);
}
}
}
Bu öğreticinin ilerleyen bölümlerinde bu Azure işlevini bir konunun aboneliği için olay işleyicisi olarak kullanacaksınız.
Not
- Aynı bölgede tüm kaynakları oluşturun.
- Bu öğretici, .NET 8.0 (yalıtılmış) çalışma zamanı yığını kullanan bir Azure işleviyle test edilmiştir.
Event Grid konusu oluşturma (özel konu)
Event Grid konusu oluşturun. Bkz. Portalı kullanarak özel konu oluşturma. Event Grid konusunu oluşturduğunuzda, Gelişmiş sekmesindeki Olay Şeması için Bulut Olay Şeması v1.0'ı seçin.
Not
Bu öğreticide bulut olay şemasını her yerde kullanın.
işlevini kullanarak konuya abonelik ekleme
Bu adımda, daha önce oluşturduğunuz Azure işlevini kullanarak Event Grid konusuna bir abonelik oluşturursunuz.
Event Grid konu başlığı sayfasında, sol gezinti çubuğunda Abonelikler'i seçin.
Olay aboneliği oluştur sayfasında şu adımları uygulayın:
Azure işlevini seçin sayfasında şu adımları uygulayın:
Olay Aboneliği Oluştur sayfasında Oluştur'u seçin.
Olay Abonelikleri sayfasında, oluşturduğunuz aboneliği görmeniz gerekir.
Ad alanı, istemciler, konu alanları ve izin bağlamaları oluşturma
Hızlı Başlangıç: Azure portalı ile Event Grid ad alanını kullanarak MQTT iletilerini yayımlama ve abone olma yönergelerini izleyin:
- Event Grid ad alanı oluşturun.
- İki istemci oluşturun.
- Konu alanı oluşturun.
- Yayımcı ve abone izin bağlamaları oluşturun.
- İstemcilerin ileti gönderip alabildiğini onaylamak için MQTTX uygulamasını kullanarak test edin.
Ad alanı için yönetilen kimliği etkinleştirme
Bu bölümde, Event Grid ad alanı için sistem tarafından atanan yönetilen kimliği etkinleştirebilirsiniz. Ardından, kimliğe daha önce oluşturduğunuz Event Grid özel konusuna gönderme izni verin, böylece iletiyi özel konuya yönlendirebilir. Bunu yapmak için yönetilen kimliği özel konu başlığındaki Event Grid Veri Göndereni rolüne eklersiniz.
Event Grid Ad Alanı sayfasında, sol gezinti menüsünde Kimlik'i seçin.
Event Grid özel konunuzun Event Grid Konusuna gidin.
Sol gezinti çubuğunda Erişim denetimi'ni seçin.
Erişim denetimi sayfasında Ekle'yi ve ardından Rol ataması ekle'yi seçin.
Rol ataması ekleme sihirbazının Rol sayfasında Event Grid Veri Göndereni rolü'ne tıklayın ve sayfanın alt kısmındaki İleri'ye tıklayın.
Rol ataması ekleme sihirbazının Üyeler sayfasında Yönetilen kimlik'i ve ardından Üye seç'i seçin.
Yönetilen kimlikleri seçin sayfasında şu adımları uygulayın:
Rol ataması ekle sayfasında, sayfanın alt kısmındaki İleri'yi seçin.
Gözden geçir ve ata sayfasında ayarları gözden geçirin ve ardından sayfanın alt kısmındaki Gözden geçir + ata'yı seçin.
Özel konu başlığı aracılığıyla iletileri Azure işlevine yönlendirmeyi yapılandırma
Bu adımda, Event Grid ad alanı için yönlendirmeyi yapılandırarak aldığı iletilerin oluşturduğunuz özel konuya yönlendirilmesi sağlanır.
Event Grid Ad Alanı sayfasında, sol gezinti çubuğunda Yönlendirme'yi seçin.
Yönlendirme sayfasında Yönlendirmeyi etkinleştir'i seçin.
Konu türü için Özel konu'ya tıklayın.
Konu başlığı için bu öğretici için oluşturduğunuz özel konuyu seçin.
Teslim için Yönetilen kimlik için Sistem Atanan'ı seçin.
Sayfanın alt kısmındaki Uygula'yı seçin.
MQTTX kullanarak test MQTT iletileri gönderme
Test MQTT iletilerini ad alanına gönderin ve işlevin bunları aldığını onaylayın.
Event Grid ad alanına birkaç test iletisi göndermek için MQTTX uygulamasını kullanarak iletileri yayımlama, abone olma makalesindeki yönergeleri izleyin.
Olay veya iletilerin akışı aşağıdadır:
MQTTX, Event Grid ad alanının konu alanına ileti gönderir.
İletiler, yapılandırdığınız özel konuya yönlendirilir.
İletiler, Azure işlevi olan olay aboneliğine iletilir.
İşlevin olayı aldığını doğrulamak için günlüğe kaydetme özelliğini kullanın.
Sonraki adım
Bu GitHub deposundaki kod örneklerine bakın.