Dieser Artikel beschreibt einige Themen im Bereich Azure Logic Apps, die für Euch interessant sein können, wenn Ihr mit Azure Logic Apps arbeitet.

Try – Catch

Die Fehlerbehandlung in Logic Apps ist eigentlich relativ einfach, Sie können einen Stepp ausführen und im nächsten Stepp entscheiden, ob dieser bei Fehlern ebenfalls ausgeführt wird oder nicht.

Hierfür klicken Sie im Step 3 auf die drei … rechts vom Step 3 und wählen “configure run after” aus.

Im nachfolgenden Bild sehen Sie die Optionen, die Sie hier auswählen können. Der normale Zustand ist, dass hier nur “is successful” ausgewählt ist.

Sie können jetzt nach jedem Stepp überlegen, ob dieser Fehlschlagen kann oder nicht und können unterschiedliche Stepps, je nachdem, ob der vorherige Stepp erfolgreich war oder nicht einbauen.

Wenn Sie eine solche Lösung konfigurieren wollen, dann sehen die Stepps wie folgt aus. Wir nehmen mal an, der Stepp 2 kann fehlschlagen und Sie möchten auf einen Fehler reagieren und im Nnachfolgenden Schritt, wie hier dargestellt, die Variable mit einem anderen Wert beschreiben.

Sie können mit dieser Logik natürlich jeden Fall behandeln und für jeden Stepp, der fehlschlagen könnte diese Option einbauen, wie in diesem Beispiel.

Wie sie hier sehen, wird dies, wenn Sie alle Fälle behandeln wollen, sehr unübersichtlich und somit die Logic App sehr groß.

Pro Tipp:

Der bessere Weg, ist die Verwendung vom Stepp “Scope” aus den Built-in Stepps der Galerie. Dieser Stepp hat die Eigenschaft, dass Sie einzelne Stepps zusammen fassen können und somit nicht bei jedem Stepp eine Fehlerbehandlung durchführen müssen.

Die Fehlerbehandlung wird dann nach dem Stepp vom Typ Scope durchgeführt. Sie fügen also einen Scope hinzu und verschieben alle relevanten Stepps hier ein, die Sie zusammenfassen wollen.

Wichtig: Die Initialisierung von Variablen sind in Scopes nicht zulässig und müssen oberhalb definiert werden.

Nach Ihrer Umstellung sieht die Logic App dann wie folgt aus. Ich habe nach dem Scope einen Stepp “Filter array” eingefügt, warum erkläre ich weiter unten.

Der Scope wird in diesem Fall jetzt als ein Try Block betrachtet, wie man das aus der klassischen Programmierung kennt. Schlägt ein Stepp fehl, wird der Block abgebrochen. Hier kommt jetzt der Stepp “Filter array zum tragen, denn der Scope liefert in jedem Fall ein Ergebnis, welches man mit der Expression “result(‘Name des Scopes’) abfragen kann. Nun muss man wissen, der dieses Ergebnis direkt als Array geliefert wird, so dass man hier direkt das Array filtern kann und den fehlerhaften Stepp ausgeben kann.

Feld: From: result(‘Scope’)

Feld: Choose a value: item()?[‘Status’]

Die weiteren Werte sehen Sie im Screenshot und ein Fehler sieht dann wie folgt aus und wird als Ausgabe des Filter array Steps ausgegeben. Wie sie hier sehen können, gab es einen Fehler beim schreiben einer Variable, Sie erhalten in diesem Objekt die Eigenschaft “Error” und diese beinhaltet eine Eigenschaft “Message”. Mit diesen Angaben können Sie Ihren Ideen freien Lauf lassen und die Fehler entsprechend weiter behandeln.

Hinweis: Der Stepp: Filter array ist im Bereich “run after” mindestens für is successful und is failed eingestellt.

Group and run actions by scope – Azure Logic Apps | Microsoft Learn

Leave a Reply

Your email address will not be published. Required fields are marked *