Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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.
Na stronie Temat usługi Event Grid wybierz pozycję Subskrypcje.
Na stronie Tworzenie subskrypcji zdarzeń wykonaj następujące kroki:
Wprowadź Nazwę dla subskrypcji zdarzeń.
W polu Schemat zdarzeń wybierz pozycję Schemat zdarzeń w chmurze 1.0.
W polu Typ punktu końcowego wybierz pozycję Funkcja platformy Azure.
Następnie wybierz pozycję Konfiguruj punkt końcowy.
Na stronie Wybieranie funkcji platformy Azure wykonaj następujące kroki:
W polu Subskrypcja wybierz subskrypcję platformy Azure.
W polu Grupa zasobów wybierz grupę zasobów, która ma funkcję platformy Azure.
Wybierz aplikację Funkcje, która zawiera tę funkcję.
W polu Miejsce wybierz pozycję Produkcja.
W polu Funkcja wybierz funkcję platformy Azure.
Następnie wybierz pozycję Potwierdź wybór.
Na stronie Tworzenie subskrypcji zdarzeń wybierz pozycję Utwórz.
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:
- Utwórz przestrzeń nazw usługi Event Grid.
- Utwórz dwóch klientów.
- Utwórz przestrzeń tematu.
- Tworzenie powiązań uprawnień wydawcy i subskrybenta.
- 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.
Na stronie Przestrzeń nazw usługi Event Grid wybierz pozycję Tożsamość. Wybierz pozycję Włączone , a następnie pozycję Zapisz.
Przejdź do tematu usługi Event Grid dla tematu niestandardowego usługi Event Grid.
Wybierz pozycję Kontrola dostępu na lewym pasku nawigacyjnym.
Na stronie Kontrola dostępu wybierz pozycję Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli.
Na stronie Rola kreatora Dodawanie przypisania roli wybierz rolę Nadawca danych Event Grid, a następnie wybierz Dalej.
Na stronie Dodawanie przypisania roli na stronie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.
Na stronie Wybieranie tożsamości zarządzanych wykonaj następujące kroki:
Wybierz subskrypcję platformy Azure.
W polu Tożsamość zarządzana wybierz pozycję Przestrzeń nazw usługi Event Grid.
Wybierz tożsamość zarządzaną o tej samej nazwie co przestrzeń nazw usługi Event Grid.
Naciśnij przycisk Wybierz.
Na stronie Dodawanie przypisania roli wybierz pozycję Dalej.
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.
Na stronie Event Grid Namespace wybierz Routing.
Na stronie Routing wybierz pozycję Włącz routing.
W polu Typ tematu wybierz pozycję Temat niestandardowy.
W obszarze Temat wybierz temat niestandardowy utworzony na potrzeby tego samouczka.
W obszarze Tożsamość zarządzana na potrzeby dostarczania wybierz pozycję Przypisane przez system.
Wybierz i zastosuj.
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:
MQTTX wysyła komunikaty do przestrzeni tematów w obszarze nazw Event Grid.
Komunikaty są kierowane do niestandardowego tematu, który skonfigurowałeś.
Komunikaty są przekazywane do subskrypcji zdarzeń, która jest funkcją platformy Azure.
Użyj funkcji rejestrowania, aby sprawdzić, czy funkcja odebrała zdarzenie.