Power App-Hack: Kommunizieren mit Azure Functions über Azure Queues

Titelbild Power App Hack

Veröffentlicht:

Wenn immer wir etwas umfangreichere Power Apps erstellen oder die Anforderungen etwas komplexer sind, greifen wir gerne auf Azure Functions als Helfer zurück.

Azure Functions sind der FaaS-Service von Microsoft Azure, analog zu etwa AWS Lambdas, und ermöglichen die Fokussierung auf die Erstellung einer Applikation, ohne sich um Infrastruktur kümmern zu müssen. Functions sind sehr kostengünstig und enorm vielseitig einsetzbar. Typischerweise verwenden wir Functions in einem Power Automate Workflow über einen http-Request. Request – Response. Easy. Jedoch wünscht man sich manchmal innerhalb der Power App die Möglichkeit, auf die Vielseitigkeit einer Azure Function setzen zu können, allerdings unterstützen PowerApps keine http-Requests. Was also tun?

Beim Ausprobieren von verschiedenen Konnektoren bin ich in Power Apps auf den Azure Queue Konnektor gestossen und dachte mir, damit sollte es doch möglich sein, zumindest einmal eine Nachricht direkt aus der App an eine Azure Function zu schicken. Diese können nämlich statt per http-Trigger auch via Nachricht aus einer Queue aufgerufen werden. Das war auch als kleines «Hello World»-Beispiel schnell umgesetzt:

Azure Queue Konnektor
Azure Queue Konnektor
Testaufbau für den Azure Queue Konnektor

Als ich dann die Methoden des Konnektors durchgeschaut habe, stach mir eine Methode sofort ins Auge: «GetMessages». Moment! Damit kann ich Nachrichten von einer Azure Function an eine Power App senden! Ebenfalls könnte man auch dynamisch Queues erstellen, beispielsweise für ein dynamisches Antwortesystem.

Ich erweiterte mein Hello-World-Beispiel so, dass die Azure Function in eine andere Queue «Hallo XY» schreibt, so dass XY der zuvor in der App eingegebene Name ist. Nur, wie rufe ich diese Queue jetzt in der Power App ab? Power Apps kennen keine Events. Jedoch gibt es in Power Apps den Timer. Also verwendete ich den Timer um 1 mal pro Sekunde die Queue abzufragen. Wenn eine Nachricht vorhanden ist, wird diese verarbeitet und aus der Queue gelöscht:

Queue
Queue

Und so sieht das im Einsatz aus:

Demo Beispiel
Demo Beispiel

Ich kann mir einige Szenarien für die Verwendung vorstellen. Wenn man z.B. eine Provisionierungs-App für Teamräume hat, könnte man so eine Queue Abfragen, welche eine Nachricht erhält, sobald der Provisionierungsvorgang abgeschlossen wurde, und man mit der Bearbeitung in der App fortfahren kann. Auch möglich wäre so z.B. eine Art Live-Chat oder aber ein Push-Notification-System. Der Azure Queue Konnektor ist allerdings ein Premium Connector, so dass jede NutzerIn, welche die App benutzt entsprechend lizenziert sein muss.

Beitrag teilen
Geschrieben von

Reto Stadelmann

Content Services Developer

Profil anzeigen

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

IOZ_LOGO_weiss

Profis für M365-Intranets & digitale Arbeitsplätze, Power Apps, Power Automate Workflows, sowie Managementsysteme.

Angebote

Angebotsübersicht

Zentrale | Verkauf
IOZ AG
  • St. Georg-Strasse 2a
    CH-6210 Sursee

  • +41 41 925 84 00

  • info@ioz.ch

Nach oben scrollen