Verwenden von Azure Event Grid zum Senden von Blob Storage-Ereignissen an einen Webendpunkt (Azure-Portal)

Event Grid ist ein vollständig verwalteter Dienst, mit dem Sie Ereignisse problemlos über viele verschiedene Azure-Dienste und -Anwendungen hinweg verwalten können. Er vereinfacht das Erstellen ereignisgesteuerter und serverloser Anwendungen. Eine Übersicht über den Dienst finden Sie unter Übersicht über Event Grid.

In diesem Artikel wird das Azure-Portal für die folgenden Aufgaben verwendet:

  1. Erstellen eines Blob Storage-Kontos
  2. Abonnieren von Ereignissen für diesen Blobspeicher
  3. Auslösen eines Ereignisses durch Hochladen einer Datei in den Blobspeicher
  4. Anzeigen des Ergebnisses in einer Handler-Web-App Üblicherweise senden Sie Ereignisse an einen Endpunkt, der die Ereignisdaten verarbeitet und entsprechende Aktionen ausführt. Zur Vereinfachung senden Sie Ereignisse an eine Web-App, die die Nachrichten sammelt und anzeigt.

Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.

Am Ende sehen Sie, dass die Ereignisdaten an die Web-App gesendet wurden.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

Speicherkonto erstellen

  1. Melden Sie sich beim Azure-Portalan.

  2. Wählen Sie zum Erstellen eines Blobspeichers die Option Ressource erstellen.

  3. Geben Sie unter Suchen den Begriff Speicherkonto ein, und wählen Sie in der Ergebnisliste Speicherkonto aus.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. Wählen Sie auf der Seite Speicherkonto die Option Erstellen aus, um mit der Erstellung des Speicherkontos zu beginnen. Um Ereignisse zu abonnieren, erstellen Sie entweder ein Speicherkonto vom Typ „general-purpose v2“ oder ein Blobspeicherkonto.

  5. Führen Sie auf der Seite Speicherkonto erstellen die folgenden Schritte aus:

    1. Wählen Sie Ihr Azure-Abonnement.

    2. Erstellen Sie unter Ressourcengruppe eine neue Ressourcengruppe, oder wählen Sie eine vorhandene aus.

    3. Geben Sie den Namen für Ihr Speicherkonto ein.

    4. Wählen Sie die Region aus, in der das Speicherkonto erstellt werden sollen.

    5. Wählen Sie unter Redundanz in der Dropdownliste die Option Lokal redundanter Speicher (LRS) aus.

    6. Wählen Sie unten auf der Seite Überprüfen aus.

      Screenshot showing the Create a storage account page.

    7. Überprüfen Sie die Einstellungen auf der Seite Überprüfen, und wählen Sie dann Erstellen aus.

      Hinweis

      Nur Speicherkonten vom Typ StorageV2 (universell, Version 2) und BlobStorage unterstützen die Ereignisintegration. Storage (Universell V1) unterstützt nicht die Integration in Event Grid.

  6. Die Bereitstellung dauert einige Minuten. Wählen Sie auf der Seite Bereitstellung die Option Zu Ressource wechseln aus.

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. Wählen Sie auf der Seite Speicherkonto im linken Menü die Option Ereignisse aus.

    Screenshot showing the Events page for an Azure storage account.

  8. Lassen Sie diese Seite im Webbrowser geöffnet.

Erstellen eines Nachrichtenendpunkts

Vor dem Abonnieren der Ereignisse für den Blobspeicher erstellen wir zunächst den Endpunkt für die Ereignisnachricht. Der Endpunkt führt in der Regel Aktionen auf der Grundlage der Ereignisdaten aus. Um diesen Schnellstart zu vereinfachen stellen Sie eine vorab erstellte Web-App bereit, welche die Ereignisnachrichten anzeigt. Die bereitgestellte Lösung umfasst einen App Service-Plan, eine App Service-Web-App und Quellcode von GitHub.

  1. Wählen Sie Deploy to Azure (In Azure bereitstellen), um die Lösung für Ihr Abonnement bereitzustellen.

    Button to deploy the Resource Manager template to Azure.

  2. Gehen Sie auf der Seite Benutzerdefinierte Bereitstellung wie folgt vor:

    1. Wählen Sie unter Ressourcengruppe die Ressourcengruppe aus, die Sie beim Erstellen des Speicherkontos erstellt haben. Dadurch muss zur Bereinigung nach Abschluss des Tutorials einfach nur die Ressourcengruppe gelöscht werden.

    2. Geben Sie unter Websitename einen Namen für die Web-App ein.

    3. Geben Sie unter Name des Hostingplans einen Namen für den App Service-Plan zum Hosten der Web-App ein.

    4. Klicken Sie auf Überprüfen + erstellen.

      Screenshot showing the Custom deployment page.

  3. Wählen Sie auf der Seite Überprüfen + erstellen die Option Erstellen aus.

  4. Die Bereitstellung dauert einige Minuten. Wählen Sie auf der Seite Bereitstellung die Option Zu Ressourcengruppe wechseln aus.

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. Wählen Sie auf der Seite Ressourcengruppe in der Ressourcenliste die von Ihnen erstellte Web-App aus. In dieser Liste werden auch der App Service-Plan und das Speicherkonto angezeigt.

    Screenshot that shows the selection of web app in the resource group.

  6. Wählen Sie auf der Seite App Service für Ihre Web-App die URL aus, um zur entsprechenden Website zu navigieren. Die URL muss folgendes Format haben: https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the selection of link to navigate to web app.

  7. Vergewissern Sie sich, dass die Website angezeigt wird, aber noch keine Ereignisse bereitgestellt wurden.

    View new site.

    Wichtig

    Lassen Sie das Fenster „Azure Event Grid-Viewer“ geöffnet, sodass Sie Ereignisse anzeigen können, wenn diese veröffentlicht werden.

Registrieren des Event Grid-Ressourcenanbieters

Sofern Sie Event Grid nicht bereits zuvor genutzt haben, müssen Sie den Event Grid-Ressourcenanbieter registrieren. Wenn Sie Event Grid bereits eingesetzt haben, fahren Sie mit dem nächsten Abschnitt fort.

Führen Sie im Azure-Portal folgende Schritte aus:

  1. Wählen Sie im linken Menü Abonnements aus.

  2. Wählen Sie das Abonnement, das Sie für Event Grid verwenden möchten, aus der Abonnementliste aus.

  3. Wählen Sie auf der Seite Abonnement unter Einstellungen im linken Menü Ressourcenanbieter aus.

  4. Suchen Sie nach Microsoft.EventGrid, und vergewissern Sie sich, dass der StatusNicht registriert lautet.

  5. Wählen Sie microsoft.EventGrid in der Anbieterliste aus.

  6. Wählen Sie Registrieren auf der Befehlsleiste aus.

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. Aktualisieren Sie, um sicherzustellen, dass der Status von Microsoft.EventGrid in Registriert geändert wird.

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Abonnieren des Blobspeichers

Sie abonnieren ein Thema, um Event Grid mitzuteilen, welche Ereignisse Sie nachverfolgen möchten und wohin diese gesendet werden sollen.

  1. Wenn Sie die Seite Speicherkonto geschlossen haben, navigieren Sie zu Ihrem Azure Storage-Konto, das Sie zuvor erstellt haben. Wählen Sie im linken Menü die Option Alle Ressourcen und anschließend Ihr Speicherkonto aus.

  2. Wählen Sie auf der Seite Speicherkonto im linken Menü die Option Ereignisse aus.

  3. Wählen Sie Weitere Optionen und dann Webhook. Sie verwenden einen Webhook für den Endpunkt, um Ereignisse an Ihre Viewer-App zu senden.

    Screenshot showing the selection of Web Hook on the Events page.

  4. Führen Sie auf der Seite Ereignisabonnement erstellen die folgenden Schritte aus:

    1. Geben Sie unter Name einen Namen für das Ereignisabonnement an.

    2. Geben Sie unter Name einen Namen für das Systemthema ein. Informationen zu Systemthemen finden Sie unter Übersicht über Systemthemen.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. Wählen Sie unter Endpunkttyp die Option Webhook aus.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. Klicken Sie unter Endpunkt auf Endpunkt auswählen, geben Sie die URL Ihrer Web-App ein, fügen Sie api/updates zur URL der Startseite hinzu (Beispiel: https://spegridsite.azurewebsites.net/api/updates), und wählen Sie anschließend Auswahl bestätigen aus.

    Screenshot showing the Select Web Hook page.

  6. Wählen Sie als Nächstes auf der Seite Ereignisabonnement erstellen die Option Erstellen aus, um das Ereignisabonnement zu erstellen.

    Screenshot showing the Create Event Subscription page with all fields selected.

  7. Zeigen Sie wieder Ihre Web-App an. Wie Sie sehen, wurde ein Abonnementüberprüfungsereignis an sie gesendet. Klicken Sie auf das Augensymbol, um die Ereignisdaten zu erweitern. Event Grid sendet das Überprüfungsereignis, damit der Endpunkt bestätigen kann, dass er Ereignisdaten empfangen möchte. Die Web-App enthält Code zur Überprüfung des Abonnements.

    Screenshot showing the Event Grid Viewer with the subscription validation event.

Als Nächstes lösen wir ein Ereignis aus, um zu sehen, wie Event Grid die Nachricht an Ihren Endpunkt weiterleitet.

Senden eines Ereignisses an Ihren Endpunkt

Sie lösen ein Ereignis für den Blobspeicher aus, indem Sie eine Datei hochladen. Für die Datei ist kein spezifischer Inhalt erforderlich.

  1. Navigieren Sie im Azure-Portal zu Ihrem Blob Storage-Konto, und wählen Sie im Menü links die Option Container aus.

  2. Wählen Sie + Container aus. Geben Sie Ihrem Container einen Namen, verwenden Sie eine beliebige Zugriffsebene, und wählen Sie dann Erstellen aus.

    Screenshot showing the New container page.

  3. Wählen Sie Ihren neuen Container aus.

    Screenshot showing the selection of the container.

  4. Wählen Sie die Option Hochladen, um eine Datei hochzuladen. Navigieren Sie auf der Seite Blob hochladen zu einer Datei, die Sie zu Testzwecken hochladen möchten, wählen Sie sie aus, und wählen Sie auf dieser Seite anschließend Hochladen aus.

    Screenshot showing Upload blob page.

  5. Navigieren Sie zu Ihrer Testdatei, und laden Sie sie hoch.

  6. Sie haben das Ereignis ausgelöst, und Event Grid hat die Nachricht an den Endpunkt gesendet, den Sie beim Abonnieren konfiguriert haben. Die Nachricht weist das JSON-Format auf und enthält ein Array mit mindestens einem Ereignis. Im folgenden Beispiel enthält die JSON-Nachricht ein Array mit einem Ereignis. Zeigen Sie Ihre Web-App an. Wie Sie sehen, wurde ein Ereignis vom Typ Blob erstellt empfangen.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

Bereinigen von Ressourcen

Wenn Sie dieses Ereignis weiterverwenden möchten, können Sie die Bereinigung der in diesem Artikel erstellten Ressourcen überspringen. Löschen Sie andernfalls die Ressourcen, die Sie in diesem Artikel erstellt haben.

Wählen Sie die Ressourcengruppe aus, und klicken Sie auf Ressourcengruppe löschen.

Nächste Schritte

Sie haben gelernt, wie Sie benutzerdefinierte Themen und Ereignisabonnements erstellen. Nun können Sie sich ausführlicher darüber informieren, welche Möglichkeiten Event Grid bietet: