2017-05-04 1 views
0

Ich habe eine einfache Logik-App, die eine Azure-Funktion bei einem Wiederholungstrigger (jeden Tag) ausführt. Ich möchte der IT-Abteilung eine E-Mail senden, wenn beim Ausführen der Funktion ein Problem auftritt. Hier ist meine Logik App Setup:Reagieren auf Azure Funktionsfehler in Logic App

enter image description here

Jedes Mal, wenn ein Fehler aufgetreten ist (für exemple, die azur Funktion gibt einen HTTP-Code 500, wie so :)

return req.CreateResponse(HttpStatusCode.InternalServerError, new 
     { 
      error = $"{errorMessage}. {ex.Message}" 
     }); 

Logic App Flow nur stoppt, bevor ich den Statuscode überprüfen kann ein darauf reagieren:

enter image description here

Also meine Frage ist : Gibt es eine Möglichkeit, einen Azure Function-Fehlercode zu verarbeiten?

Antwort

5

Der Grund für diesen Fehler ist, dass die Logik-App-Bedingung standardmäßig nur nach dem Erfolg des vorherigen Schritts ausgeführt wird.

Sie können dieses Verhalten überschreiben, indem Sie die Bedingung "runAfter" so aktualisieren, dass sie den Status "Failed" enthält.

Gehen Sie auf die Code-Ansicht und Ihre Definition von Fehlerzustand in json aktualisieren hinzufügen

   "runAfter": { 
       "HTTP": [ 
        "Failed", 
        "Succeeded" 
       ] 
+0

Danke, das hat den Trick gemacht! – Mathieu

1

Mit dieser Woche Logic Apps-Update zu haben, können Sie „Lauf nach“ Zustand direkt im Designer und don angeben‘ t müssen zur Codeansicht wechseln. In Ihrem Fall verschieben Sie einfach die Aktion "Google Mail - E-Mail senden" außerhalb der Bedingung direkt nach der Funktion. Klicken Sie anschließend in der Titelleiste der Aktion "Gmail - E-Mail senden" auf "...". Daraufhin sollte eine Option namens "Configure run after" angezeigt werden. Überprüfen Sie "Hat fehlgeschlagen" und die E-Mail-Aktion wird ausgeführt, wenn der Funktionsaufruf fehlgeschlagen ist.

+0

Anscheinend ist dieses Update noch nicht ausgerollt worden :( – Mathieu

+0

@Mathieu, ich glaube, dass es heute bis zum Ende des Tages alle Regionen erreichen sollte. :) –

+0

Süße, danke für das Update – Mathieu

Verwandte Themen