Lab 09: Veröffentlichen und Abonnieren von Event Grid-Ereignissen

Microsoft Azure-Benutzeroberfläche

Aufgrund der dynamischen Natur der Microsoft-Cloudtools kann es vorkommen, dass sich die Azure-Benutzeroberfläche nach der Entwicklung dieses Trainingsinhalts ändert. Daher sind die Lab-Anweisungen und Lab-Schritte möglicherweise nicht mehr zutreffend.

Microsoft aktualisiert diesen Trainingskurs, wenn die Community uns über die erforderlichen Änderungen informiert. Cloudupdates kommen jedoch häufig vor, sodass möglicherweise Änderungen an der Benutzeroberfläche auftreten, bevor diese Trainingsinhalte aktualisiert werden. Wenn dies der Fall ist, stellen Sie sich auf die Veränderungen ein, und arbeiten Sie sie bei Bedarf in den Labs durch.

Anweisungen

Vorbereitung

Anmelden bei der Laborumgebung

Melden Sie sich mithilfe der folgenden Anmeldeinformationen bei Ihrer Windows 11-VM an:

  • Benutzername: Admin
  • Kennwort: Pa55w.rd

Hinweis: Ihr Kursleiter stellt Anweisungen zum Herstellen einer Verbindung mit der virtuellen Laborumgebung zur Verfügung.

Überprüfen der installierten Anwendungen

Suchen Sie auf Ihrem Windows 11-Desktop nach der Taskleiste. Die Taskleiste enthält die Symbole für die Anwendungen, die Sie in diesem Lab verwenden, darunter:

  • Microsoft Edge
  • Microsoft Visual Studio Code

Übungsszenario

In diesem Lab beginnen Sie mit einer POC-Web-App (Proof of Concept), die in einem Container gehostet wird und zum Abonnieren Ihres Event Grid-Diensts verwendet wird. Mit dieser App können Sie Ereignisse senden und Bestätigungsmeldungen empfangen, dass die Ereignisse erfolgreich waren.

Architekturdiagramm

Architekturdiagramm, das zeigt, wie ein Benutzer Event Grid-Ereignisse veröffentlicht und abonniert.

Übung 1: Erstellen von Azure-Ressourcen

Aufgabe 1: Öffnen des Azure-Portals

  1. Wählen Sie auf der Taskleiste das Symbol Microsoft Edge aus.

  2. Wechseln Sie im geöffneten Browserfenster zum Azure-Portal unter https://portal.azure.com, und melden Sie sich dann mit dem Konto an, das Sie für dieses Lab verwenden werden.

    Hinweis: Wenn Sie sich zum ersten Mal am Azure-Portal anmelden, wird Ihnen eine Tour durch das Portal angeboten. Wählen Sie Erste Schritte aus, um die Tour zu überspringen und mit der Verwendung des Portals zu beginnen.

Aufgabe 2: Öffnen von Azure Cloud Shell

  1. Wählen Sie im Azure-Portal das Symbol Cloud Shell (Cloud Shell-Symbol) aus, um eine Cloud Shell zu öffnen. Wenn Cloud Shell standardmäßig eine PowerShell-Sitzung verwendet, wählen Sie im Menü Cloud Shell die Option Zu Bash wechseln und dann Bestätigen aus.

    Hinweis: Das Cloud Shell-Symbol wird durch ein Größer-als-Zeichen (>) und einen Unterstrich (_) dargestellt.

    Wenn Sie Cloud Shell zum ersten Mal starten, erhalten Sie eine Reihe von Eingabeaufforderungen zum Erstellen der Ressource. Führen Sie die in der folgenden Tabelle dargestellten Aktionen aus:

    Prompt Aktion
    Willkommen bei Azure Cloud Shell Wählen Sie Bash aus.
    Erste Schritte Wählen Sie Speicherkonto bereitstellen, dann Ihr Speicherkontoabonnement aus der Dropdownliste und schließlich Übernehmen aus.
    Speicherkonto bereitstellen Wählen Sie Wir erstellen ein Speicherkonto für Sie und wählen Sie dann Weiter aus.
  2. Führen Sie im Azure-Portal an der Cloud Shell-Eingabeaufforderung den folgenden Befehl aus, um die Version des Azure CLI-Tools (Azure-Befehlszeilenschnittstelle) abzurufen:

     az --version
    

Aufgabe 3: Überprüfen der Microsoft.EventGrid-Anbieterregistrierung

  1. Führen Sie im Cloud Shell-Bereich den folgenden Befehl aus, um zu überprüfen, ob der Ressourcenanbieter „Microsoft.EventGrid“ registriert wurde:

     az provider show --namespace Microsoft.EventGrid --query "registrationState"
    
  2. Sie sehen, dass der Anbieter Microsoft.EventGrid bereits registriert wurde.

  3. Schließen Sie den Cloud Shell-Bereich.

Aufgabe 4: Erstellen eines benutzerdefinierten Event Grid-Themas

  1. Wählen Sie im Navigationsbereich des Azure-Portals die Option Ressource erstellen aus.

  2. Geben Sie auf dem Blatt Ressource erstellen im Textfeld Dienste und Marketplace durchsuchen den Text Event Grid-Thema ein, und drücken Sie dann die EINGABETASTE.

  3. Wählen Sie auf dem Blatt mit den Marketplace-Suchergebnissen das Event Grid-Thema-Ergebnis und dann Erstellen aus.

  4. Führen Sie auf dem Blatt Thema erstellen auf der Registerkarte Grundlagen die folgenden Aktionen aus, und wählen Sie die Registerkarte Erweitert aus:

    Einstellung Aktion
    Dropdownliste Abonnement Übernehmen Sie den Standardwert.
    Dropdownliste Ressourcengruppe Wählen Sie Neu erstellen aus, geben Sie PubSubEvents ein, und wählen Sie dann OK aus.
    Textfeld Name Geben Sie hrtopic [Ihr_Name] ein.
    Dropdownliste Region Wählen Sie USA, Osten aus.

    Der folgende Screenshot veranschaulicht die konfigurierten Einstellungen auf der Registerkarte Grundlagen.

    Screenshot mit den konfigurierten Einstellungen auf dem Blatt „Thema erstellen“

  5. Stellen Sie auf der Registerkarte Erweitert aus der Dropdownliste Ereignisschema sicher, dass der Eintrag Event Grid-Schema ausgewählt ist, und wählen Sie anschließend Überprüfen und erstellen aus.

  6. Überprüfen Sie auf der Registerkarte Überprüfen und erstellen die Optionen, die Sie in den vorherigen Schritten ausgewählt haben.

  7. Wählen Sie Erstellen aus, um das Event Grid-Thema mithilfe Ihrer angegebenen Konfiguration zu erstellen.

    Hinweis: Warten Sie, bis Azure die Erstellung des Themas abgeschlossen hat, bevor Sie mit dem Lab fortfahren. Sie erhalten eine Benachrichtigung, wenn das Thema erstellt wurde.

Aufgabe 5: Bereitstellen von Azure Event Grid Viewer für eine Web-App

  1. Wählen Sie im Navigationsbereich des Azure-Portals die Option Ressource erstellen aus.

  2. Geben Sie auf dem Blatt Ressource erstellen im Textfeld Dienste und Marketplace durchsuchen den Text Web App ein, und drücken Sie dann die EINGABETASTE.

  3. Wählen Sie auf dem Blatt mit den Marketplace-Suchergebnissen das Web-App-Ergebnis und dann Erstellen aus.

  4. Führen Sie auf dem Blatt Web-App erstellen auf der Registerkarte Grundlagen die folgenden Aktionen aus, und wählen Sie die Registerkarte Container aus:

    Einstellung Aktion
    Dropdownliste Abonnement Übernehmen Sie den Standardwert.
    Dropdownliste Ressourcengruppe Wählen Sie PubSubEvents in der Liste aus.
    Textfeld Name  Geben Sie eventviewer [Ihr_Name] ein.
    Abschnitt Veröffentlichen Wählen Sie Container aus
    Abschnitt Betriebssystem Wählen Sie Linux aus.
    Dropdownliste Region Wählen Sie USA, Osten aus.
    Abschnitt Linux-Plan (USA, Osten) Wählen Sie Neu erstellen aus, geben Sie im Textfeld Name den Namen EventPlan ein, und wählen Sie dann OK aus.
    Abschnitt Tarif Übernehmen Sie den Standardwert.

    Der folgende Screenshot veranschaulicht die konfigurierten Einstellungen auf dem Blatt Web-App erstellen.

    Screenshot mit den konfigurierten Einstellungen im Blatt „Web-App erstellen“

  5. Führen Sie auf der Registerkarte Container die folgenden Aktionen aus und wählen Sie dann Überprüfen + erstellen aus:

    Einstellung Aktion
    Imagequelle Wählen Sie Docker Hub oder andere Registrierungen aus
    Optionen Wählen Sie Einzelner Container aus.
    Zugriffstyp Wählen Sie Öffentlich (10.0.0.0/24).
    Image und Tag Geben Sie microsoftlearning/azure-event-grid-viewer:latest ein.

    Der folgende Screenshot veranschaulicht die konfigurierten Einstellungen auf der Registerkarte Docker.

    Screenshot mit den konfigurierten Einstellungen auf der Registerkarte „Web-App erstellen – Docker“

  6. Überprüfen Sie auf der Registerkarte Überprüfen und erstellen die Optionen, die Sie in den vorherigen Schritten ausgewählt haben.

  7. Wählen Sie Erstellen aus, um die Web-App mit Ihrer angegebenen Konfiguration zu erstellen.

    Hinweis: Warten Sie, bis Azure die Erstellung der Web-App abgeschlossen hat, bevor Sie mit dem Lab fortfahren. Sie erhalten eine Benachrichtigung, wenn die App erstellt wurde.

Überprüfung

In dieser Übung haben Sie das Event Grid-Thema und eine Web-App erstellt, die Sie im weiteren Verlauf des Labs verwenden werden.

Übung 2: Erstellen eines Event Grid-Abonnements

Aufgabe 1: Zugreifen auf die Event Grid Viewer-Webanwendung

  1. Wählen Sie im Navigationsbereich des Azure-Portals die Option Ressourcengruppe aus.

  2. Wählen Sie auf dem Blatt Ressourcengruppen die Ressourcengruppe PubSubEvents aus.

  3. Wählen Sie auf dem Blatt PubSubEvents die Web-App eventviewer [IhrName] aus. Der Abschnitt Übersicht wird angezeigt.

  4. Notieren Sie im Abschnitt Übersicht den Wert der Standarddomäne im Bereich Essentials. Sie verwenden diesen Wert später im Lab.

  5. Klicken Sie im Abschnitt Übersicht auf die Schaltfläche Durchsuchen.

  6. Beobachten Sie die aktuell ausgeführte Azure Event Grid Viewer-Webanwendung. Lassen Sie diese Webanwendung für den Rest des Labs ausgeführt.

    Hinweis: Diese Webanwendung wird in Echtzeit aktualisiert, wenn Ereignisse an ihren Endpunkt gesendet werden. Sie verwenden diese Anwendung, um Ereignisse im gesamten Lab zu überwachen.

  7. Kehren Sie zum derzeit geöffneten Browserfenster zurück, in dem das Azure-Portal angezeigt wird.

Aufgabe 2: Erstellen eines neuen Abonnements

  1. Wählen Sie im Navigationsbereich des Azure-Portals die Option Ressourcengruppe aus.

  2. Wählen Sie auf dem Blatt Ressourcengruppen die Ressourcengruppe PubSubEvents aus, die Sie zuvor in diesem Lab erstellt haben.

  3. Wählen Sie auf dem Blatt PubSubEvents das Event Grid-Thema hrtopic [Ihr Name] aus, das Sie zuvor in diesem Lab erstellt haben.

  4. Wählen Sie auf dem Blatt Event Grid-Thema die Option + Ereignisabonnement aus.

  5. Führen Sie auf dem Blatt Ereignisabonnement erstellen die folgenden Aktionen aus, und wählen Sie dann Erstellen aus:

    Einstellung Aktion
    Textfeld Name  Geben Sie basicsub ein.
    Dropdownliste Ereignisschema Wählen Sie Event Grid-Schema aus.
    Dropdownliste Endpunkttyp Wählen Sie Webhook aus.
    Endpunkt Wählen Sie Endpunkt konfigurieren aus. Geben Sie in das Textfeld Abonnentenendpunkt den Wert für die Web-App-URL ein, den Sie sich zuvor notiert haben. Stellen Sie sicher, dass das Präfix https:// verwendet wird, fügen Sie das Suffix /api/updates hinzu, und wählen Sie dann Auswahl bestätigen aus. Wenn Ihr Wert für Web-App-URL z. B. http://eventviewerstudent.azurewebsites.net/ lautet, dann wäre Ihr Abonnentenendpunkt entsprechend https://eventviewerstudent.azurewebsites.net/api/updates.

    Der folgende Screenshot zeigt die konfigurierten Einstellungen auf dem Blatt Ereignisabonnement erstellen.

    Screenshot, der die konfigurierten Einstellungen auf dem Blatt „Ereignisabonnement erstellen“ zeigt

    Hinweis: Warten Sie, bis Azure die Erstellung des Abonnements abgeschlossen hat, bevor Sie mit dem Lab fortfahren. Sie erhalten eine Benachrichtigung, wenn das Abonnement erstellt wurde.

Aufgabe 3: Beobachten des Ereignisses für die Abonnementüberprüfung

  1. Kehren Sie zum Browserfenster zurück, in dem die Azure Event Grid Viewer-Webanwendung angezeigt wird.

  2. Überprüfen Sie das Microsoft.EventGrid.SubscriptionValidationEvent-Ereignis, das im Rahmen der Abonnementerstellung erstellt wurde.

  3. Wählen Sie das Ereignis aus, und überprüfen Sie dessen JSON-Inhalt.

  4. Kehren Sie zum derzeit geöffneten Browserfenster zurück, in dem das Azure-Portal angezeigt wird.

Aufgabe 4: Aufzeichnen von Abonnementanmeldeinformationen

  1. Wählen Sie im Navigationsbereich des Azure-Portals die Option Ressourcengruppe aus.

  2. Wählen Sie auf dem Blatt Ressourcengruppen die Ressourcengruppe PubSubEvents aus, die Sie zuvor in diesem Lab erstellt haben.

  3. Wählen Sie auf dem Blatt PubSubEvents das Event Grid-Thema hrtopic [Ihr Name] aus, das Sie zuvor in diesem Lab erstellt haben.

  4. Zeichnen Sie auf dem Blatt Event Grid-Thema den Wert des Felds Themenendpunkt auf. Sie verwenden diesen Wert später im Lab.

  5. Wählen Sie in der Kategorie Einstellungen den Zugriffsschlüssel-Link aus.

  6. Zeichen Sie im Abschnitt Zugriffsschlüssel den Wert des Textfelds Schlüssel 1 auf. Sie verwenden diesen Wert später im Lab.

Überprüfung

In dieser Übung haben Sie ein neues Abonnement erstellt, seine Registrierung bestätigt und dann die Anmeldeinformationen erfasst, die erforderlich sind, um ein neues Ereignis für das Thema zu veröffentlichen.

Übung 3: Veröffentlichen von Event Grid-Ereignissen aus .NET

Aufgabe 1: Erstellen eines .NET-Projekts

  1. Wählen Sie auf dem Startbildschirm die Kachel Visual Studio Code aus.

  2. Klicken Sie im Menü Datei auf Ordner öffnen.

  3. Suchen Sie im Fenster Datei-Explorer, das geöffnet wird, nach Allfiles (F):\Allfiles\Labs\09\Starter\EventPublisher, und wählen Sie dann Ordner auswählen aus.

  4. Navigieren Sie im Visual Studio Code-Fenster in der oberen Menüleiste zum Menü Terminal, und wählen Sie Neues Terminal aus.

  5. Führen Sie den folgenden Befehl aus, um ein neues .NET-Projekt mit dem Namen EventPublisher im aktuellen Ordner zu erstellen:

     dotnet new console --framework net8.0 --name EventPublisher --output . 
    

    Hinweis: Der Befehl dotnet new erstellt ein neues Konsolenprojekt in einem Ordner mit demselben Namen wie das Projekt.

  6. Führen Sie den folgenden Befehl aus, um Version 4.11.0 von Azure.Messaging.EventGrid aus NuGet zu importieren:

     dotnet add package Azure.Messaging.EventGrid --version 4.11.0
    

    Hinweis: Mit dem Befehl dotnet add package wird das Paket Microsoft.Azure.EventGrid aus NuGet hinzugefügt. Weitere Informationen finden Sie unter Azure.Messaging.EventGrid.

  7. Führen Sie den folgenden Befehl aus, um die .NET-Webanwendung zu erstellen:

     dotnet build
    
  8. Wählen Sie Terminal beenden oder das Papierkorb-Symbol aus, um das aktuell geöffnete Terminal und alle zugehörigen Prozesse zu schließen.

Aufgabe 2: Ändern der Program-Klasse zum Herstellen einer Verbindung mit Event Grid

  1. Öffnen Sie im Bereich Explorer des Visual Studio Code-Fensters die Datei Program.cs.

  2. Löschen Sie auf der Registerkarte „Code-Editor“ für die Datei Program.cs den gesamten Code in der vorhandenen Datei.

  3. Fügen Sie den folgenden Code hinzu:

     using Azure;
     using Azure.Messaging.EventGrid;
     using System;
     using System.Threading.Tasks;    
     public class Program
     {
         private const string topicEndpoint = "<topic-endpoint>";
         /* Update the topicEndpoint string constant by setting its value to the Topic
            Endpoint of the Event Grid topic that you recorded previously in this lab. */
         private const string topicKey = "<topic-key>";
         /* Update the topicKey string constant by setting its value to the Key of the Event Grid topic that you recorded previously in this lab. */     
         public static async Task Main(string[] args)
         {
             //Add Main code here
         }
     }
    
  4. Ersetzen Sie in Zeile 7 den Platzhalter <topic-endpoint> durch den Wert des Endpunkts für das Event Grid-Thema, den Sie weiter oben in diesem Lab notiert haben.

  5. Ersetzen Sie in Zeile 10 den Platzhalter <topic-key> durch den Wert des Zugriffsschlüssels für das Event Grid-Thema, den Sie weiter oben in diesem Lab notiert haben.

Aufgabe 3: Veröffentlichen neuer Ereignisse

  1. Ersetzen Sie die Main-Methode der Datei Program.cs  mit dem folgenden Code:

     public static async Task Main(string[] args)
     {   
         /* To create a new variable named "endpoint" of type "Uri", 
            using the "topicEndpoint" string constant as a constructor parameter */
         Uri endpoint = new Uri(topicEndpoint);
    
         /* To create a new variable named "credential" of type "AzureKeyCredential",
            use the "topicKey" string constant as a constructor parameter. */
         AzureKeyCredential credential = new AzureKeyCredential(topicKey);
    
         /* To create a new variable named "client" of type "EventGridPublisherClient", 
            using the "endpoint" and "credential" variables as constructor parameters */
         EventGridPublisherClient client = new EventGridPublisherClient(endpoint, credential);
    
         /* To create a new variable named "firstEvent" of type "EventGridEvent",
            and populate that variable with sample data */        
         EventGridEvent firstEvent = new EventGridEvent(
             subject: $"New Employee: Alba Sutton",
             eventType: "Employees.Registration.New",
             dataVersion: "1.0",
             data: new
             {
                 FullName = "Alba Sutton",
                 Address = "4567 Pine Avenue, Edison, WA 97202"
             }
         );
    
         /* To create a new variable named "secondEvent" of type "EventGridEvent",
            and populate that variable with sample data */
         EventGridEvent secondEvent = new EventGridEvent(
             subject: $"New Employee: Alexandre Doyon",
             eventType: "Employees.Registration.New",
             dataVersion: "1.0",
             data: new
             {
                 FullName = "Alexandre Doyon",
                 Address = "456 College Street, Bow, WA 98107"
             }
         );
    
         /* To asynchronously invoke the "EventGridPublisherClient.SendEventAsync"
            method using the "firstEvent" variable as a parameter */
         await client.SendEventAsync(firstEvent);
         Console.WriteLine("First event published");
    
         /* To asynchronously invoke the "EventGridPublisherClient.SendEventAsync"
            method using the "secondEvent" variable as a parameter */
         await client.SendEventAsync(secondEvent);
         Console.WriteLine("Second event published");
     }
    

    Hinweis: Weitere Informationen zu AzureKeyCredential

    Hinweis: Wenn Sie mehr über Event Grid erfahren möchten, folgen Sie diesen Links:

  2. Speichern Sie die Datei  Program.cs .

  3. Wählen Sie im Fenster Visual Studio Code auf der Menüleiste Terminal und dann Neues Terminal aus.

  4. Führen Sie den folgenden Befehl aus, um die .NET-Webanwendung auszuführen:

     dotnet run
    

    Hinweis: Wenn Buildfehler auftreten, überprüfen Sie die Datei Program.cs im Ordner Allfiles (F):\Allfiles\Labs\09\Solution\EventPublisher.

  5. Beobachten Sie die Ausgabe der Erfolgsmeldung der derzeit ausgeführten Konsolenanwendung.

  6. Wählen Sie Terminal beenden oder das Papierkorb-Symbol aus, um das aktuell geöffnete Terminal und alle zugehörigen Prozesse zu schließen.

Aufgabe 4: Beobachten veröffentlichter Ereignisse

  1. Kehren Sie zum Browserfenster zurück, in dem die Azure Event Grid Viewer-Webanwendung angezeigt wird.

  2. Überprüfen Sie die Employees.Registration.New-Ereignisse, die von Ihrer Konsolenanwendung erstellt wurden.

  3. Wählen Sie eines der Ereignisse aus, und überprüfen Sie dessen JSON-Inhalt.

  4. Kehren Sie zum Azure-Portal zurück.

Überprüfung

In dieser Übung haben Sie neue Ereignisse in Ihrem Event Grid-Thema mithilfe einer .NET-Konsolenanwendung veröffentlicht.