Udostępnij za pośrednictwem


Samouczek: kierowanie komunikatów MQTT w usłudze Azure Event Grid do usługi Azure Functions przy użyciu tematów niestandardowych — Azure Portal

W tym samouczku przekierowujesz komunikaty MQTT otrzymane w przestrzeni nazw w Azure Event Grid do funkcji Azure za pomocą niestandardowego tematu Event Grid.

Jeśli nie masz subskrypcji platformy Azure, możesz zarejestrować się w celu uzyskania bezpłatnej wersji próbnej.

Tworzenie funkcji platformy Azure przy użyciu wyzwalacza usługi Event Grid

Postępuj zgodnie z instrukcjami z sekcji Tworzenie funkcji platformy Azure przy użyciu programu Visual Studio Code, ale użyj wyzwalacza usługi Azure Event Grid zamiast wyzwalacza HTTP.

Ważne

Utwórz wszystkie zasoby w tym samym regionie.

Powinien zostać wyświetlony kod podobny do poniższego przykładu:

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);
        }
    }
}

Ta funkcja platformy Azure jest używana jako procedura obsługi zdarzeń dla subskrypcji tematu w dalszej części tego samouczka.

Uwaga / Notatka

Ten poradnik został przetestowany przy użyciu funkcji Azure, która używa środowiska uruchomieniowego .NET 8.0 (izolowane).

Tworzenie tematu usługi Event Grid (temat niestandardowy)

Utwórz temat usługi Event Grid. Zobacz Tworzenie tematu niestandardowego przy użyciu witryny Azure Portal. Podczas tworzenia tematu usługi Event Grid na karcie Zaawansowane w polu Schemat zdarzeń wybierz pozycję Schemat zdarzeń w chmurze w wersji 1.0.

Zrzut ekranu przedstawiający stronę Zaawansowaną kreatora tworzenia tematu.

Uwaga / Notatka

Użyj Cloud Event Schema v1.0 wszędzie w tym samouczku.

Dodawanie subskrypcji do tematu przy użyciu funkcji

W tym kroku utwórz subskrypcję tematu usługi Event Grid przy użyciu utworzonej wcześniej funkcji platformy Azure.

  1. Na stronie Temat usługi Event Grid wybierz pozycję Subskrypcje.

    Zrzut ekranu przedstawiający stronę Subskrypcje wydarzeń dla tematu.

  2. Na stronie Tworzenie subskrypcji zdarzeń wykonaj następujące kroki:

    1. Wprowadź Nazwę dla subskrypcji zdarzeń.

    2. W polu Schemat zdarzeń wybierz pozycję Schemat zdarzeń w chmurze 1.0.

    3. W polu Typ punktu końcowego wybierz pozycję Funkcja platformy Azure.

    4. Następnie wybierz pozycję Konfiguruj punkt końcowy.

      Zrzut ekranu przedstawiający stronę Tworzenie subskrypcji zdarzeń.

  3. Na stronie Wybieranie funkcji platformy Azure wykonaj następujące kroki:

    1. W polu Subskrypcja wybierz subskrypcję platformy Azure.

    2. W polu Grupa zasobów wybierz grupę zasobów, która ma funkcję platformy Azure.

    3. Wybierz aplikację Funkcje, która zawiera tę funkcję.

    4. W polu Miejsce wybierz pozycję Produkcja.

    5. W polu Funkcja wybierz funkcję platformy Azure.

    6. Następnie wybierz pozycję Potwierdź wybór.

      Zrzut ekranu przedstawiający stronę Wybieranie funkcji platformy Azure.

  4. Na stronie Tworzenie subskrypcji zdarzeń wybierz pozycję Utwórz.

  5. Na stronie Subskrypcje zdarzeń powinna zostać wyświetlona utworzona subskrypcja.

Tworzenie przestrzeni nazw, klientów, przestrzeni tematów i powiązań uprawnień

Postępuj zgodnie z instrukcjami z Przewodnika Szybki Start: Publikowanie i subskrybowanie komunikatów MQTT przy użyciu przestrzeni nazw usługi Event Grid w portalu Azure w celu:

  1. Utwórz przestrzeń nazw usługi Event Grid.
  2. Utwórz dwóch klientów.
  3. Utwórz przestrzeń tematu.
  4. Tworzenie powiązań uprawnień wydawcy i subskrybenta.
  5. Przetestuj przy użyciu aplikacji MQTTX , aby potwierdzić, że klienci mogą wysyłać i odbierać komunikaty.

Włącz tożsamość zarządzaną dla przestrzeni nazw

W tej sekcji włączysz tożsamość zarządzaną przypisaną przez system dla przestrzeni nazw usługi Event Grid. Następnie przyznaj tożsamości uprawnienie wysyłania do tematu niestandardowego usługi Event Grid. Następnie może kierować komunikat do tematu niestandardowego. Można ją włączyć, dodając tożsamość zarządzaną do roli Nadawca danych usługi Event Grid w temacie niestandardowym.

  1. Na stronie Przestrzeń nazw usługi Event Grid wybierz pozycję Tożsamość. Wybierz pozycję Włączone , a następnie pozycję Zapisz.

    Zrzut ekranu przedstawiający przestrzeń nazw Event Grid z kartą Tożsamość wybraną.

  2. Przejdź do tematu usługi Event Grid dla tematu niestandardowego usługi Event Grid.

  3. Wybierz pozycję Kontrola dostępu na lewym pasku nawigacyjnym.

  4. Na stronie Kontrola dostępu wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.

    Zrzut ekranu przedstawiający stronę Kontrola dostępu.

  5. Na stronie Rola kreatora Dodawanie przypisania roli wybierz rolę Nadawca danych Event Grid, a następnie wybierz Dalej.

    Zrzut ekranu przedstawiający stronę **Rola** w kreatorze **Dodaj przypisanie roli**.

  6. Na stronie Dodawanie przypisania roli na stronie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.

    Zrzut ekranu przedstawiający stronę Członkowie kreatora przypisywania ról.

  7. Na stronie Wybieranie tożsamości zarządzanych wykonaj następujące kroki:

    1. Wybierz subskrypcję platformy Azure.

    2. W polu Tożsamość zarządzana wybierz pozycję Przestrzeń nazw usługi Event Grid.

    3. Wybierz tożsamość zarządzaną o tej samej nazwie co przestrzeń nazw usługi Event Grid.

    4. Naciśnij przycisk Wybierz.

      Zrzut ekranu przedstawiający stronę 'Wybierz tożsamości zarządzane'.

  8. Na stronie Dodawanie przypisania roli wybierz pozycję Dalej.

  9. Na stronie Przeglądanie i przypisywanie przejrzyj ustawienia, a następnie wybierz pozycję Przejrzyj i przypisz.

Konfigurowanie routingu komunikatów do funkcji platformy Azure za pomocą tematu niestandardowego

W tej sekcji skonfiguruj trasowanie dla przestrzeni nazw Event Grid, aby odbierane komunikaty były kierowane do utworzonego tematu niestandardowego.

  1. Na stronie Event Grid Namespace wybierz Routing.

  2. Na stronie Routing wybierz pozycję Włącz routing.

  3. W polu Typ tematu wybierz pozycję Temat niestandardowy.

  4. W obszarze Temat wybierz temat niestandardowy utworzony na potrzeby tego samouczka.

  5. W obszarze Tożsamość zarządzana na potrzeby dostarczania wybierz pozycję Przypisane przez system.

  6. Wybierz i zastosuj.

    Zrzut ekranu przedstawiający stronę Routing dla przestrzeni nazw.

Wysyłanie testowych komunikatów MQTT przy użyciu MQTTX

Wyślij testowe komunikaty MQTT do przestrzeni nazw i upewnij się, że funkcja je odbiera.

Postępuj zgodnie z instrukcjami z sekcji Publikowanie i subskrybowanie przy użyciu aplikacji MQTTX , aby wysłać kilka komunikatów testowych do przestrzeni nazw usługi Event Grid.

Oto przepływ zdarzeń lub komunikatów:

  1. MQTTX wysyła komunikaty do przestrzeni tematów w obszarze nazw Event Grid.

  2. Komunikaty są kierowane do niestandardowego tematu, który skonfigurowałeś.

  3. Komunikaty są przekazywane do subskrypcji zdarzeń, która jest funkcją platformy Azure.

  4. Użyj funkcji rejestrowania, aby sprawdzić, czy funkcja odebrała zdarzenie.

    Zrzut ekranu przedstawiający stronę strumienia logów dla funkcji Azure.

Następny krok