Webanwendung unter Microsoft Azure hosten, Teil 4 Reaktive Azure Functions App mit EventGrid
Unsere serverlose Functions App, die aus Bildern in einem Quell-Speicher-Blob Thumbnails in einem Ziel-Speicher-Blob errechnen kann, ist bereits funktionsfähig. Abschließend wollen wir den Vorgang mit einem Trigger in EventGrid automatisieren.

Um die Thumbnail-Berechnung mit unserer Azure Functions App zu automatisieren, erstellen wir eine Event-Subscription. Eine solche gibt an, welche vom Anbieter generierten Ereignisse an einen bestimmten Endpunkt gesendet werden sollen. In diesem Fall wird der Endpunkt von unserer Azure-Funktion verfügbar gemacht.
In den folgenden Schritten erstellen wir ein Ereignisabonnement, das Benachrichtigungen an unsere Funktion im Azure-Portal sendet. Dazu navigieren wir nun im Azure-Portal zu unserer Functions-App und dort im Hauptmenü zu unserer Thumbnail-Function im Abschnitt „Funktionen“.
Folgen wir dem Link „Thumbnail“, können wir durch Auswahl des Menüs „Programmieren und testen“ den Funktions-Code sehen oder bearbeiten und im Menü „Integration“ die gewünschten „Trigger“ konfigurieren.
Hier klicken wir nun auf den Link „EventGrid Trigger“ und klicken dann im Popup-Menü „Trigger bearbeiten“ rechts oben auf den Link „Event Grid-Abonnement erstellen“.
Auf der Seite „Ereignisabonnement erstellen“ müssen wir nichts weiter tun, als einen Namen für das Abonnement zu vergeben und bei „Ereignisschema“ den Eintrag „Event Grid-Schema“ zu wählen. Danach wählen wir im Abschnitt „Themendetails“ das gewünschte Speicherkonto mit dem Image-Container aus und vergeben einen Namen für das EventGrid-Thema. Im Abschnitt „Ereignistypen“ übernehmen wir die Default-Einstellung, was die zwei Ereignistypen „Blob Created“ und „Blob Deleted“ umfasst, gefolgt von einem Klick auf „Erstellen“.
Ein Gegen-Check bestätigt das erfolgreiche Erstellen des Abonnements. Dazu sucht man im Portal nach „Ereignisabonnements“ und filtert die Anzeige nach „Thementyp“ (Storage Accounts) und „Standort“. Auch hier sollte jetzt der Endpunkt „Thumbnails“ auftauchen. Alternativ hätte man das Abonnement auch von hier aus erstellen können.
Nun können wir die fertige serverlose App testen: Hierzu verbinden wir uns wieder mit unserer Foto-Upload Web-App aus Teil 1 und wählen eine Bild-Datei zum Hochladen aus. Das klappt optional auch per Drag&Drop. Nach dem „Verschwinden“ des hochgeladenen Bildes wird eine Kopie des hochgeladenen Bildes unter „Generated Thumnails“ angezeigt. Die Größe dieses Bildes wurde also von der Funktion geändert, dem thumnails-Container hinzugefügt und vom Webclient heruntergeladen.
Ein Gegen-Check direkt in den Thumbnail-Container im Speicherkonto bestätigt den Erfolg ebenfalls.
(ID:46903633)