Erstellen einer auf ein Ereignis reagierenden Logik

Abgeschlossen

Wenn Sie in Azure Event Grid Ereignisse erstellen, können Sie auswählen, wie auf diese Ereignisse reagiert werden soll, und welche Aktionen auftreten sollen.

Sie haben eine Logik-App für Ihre Gesundheitsorganisation eingerichtet, die auf Ereignisse im Zusammenhang mit Ihren Azure-Ressourcen lauscht. Sie müssen diese Ereignisse nun filtern und basierend auf darin enthaltenen Bedingungen Aktionen erstellen.

In dieser Lerneinheit erfahren Sie, wie Sie Aktionen und Bedingungen erstellen, um auf Ereignisse zu reagieren.

Bedingungen

Wenn Sie Aktionen in Ihrer Logik-App ausführen möchten, nachdem Ereignisse eine bestimmte Bedingung übergeben haben, fügen Sie eine bedingte Anweisung hinzu. Diese Kontrollstruktur vergleicht die Daten in Ihrem Workflow mit bestimmten Werten oder Feldern. Sie geben dann verschiedene Aktionen an, die ausgeführt werden, je nachdem, ob die Daten der Bedingung entsprechen.

In der folgenden Abbildung sehen Sie ein Beispiel für einen Filter, der überprüft, ob ein Dateiname in einem Verzeichnis die PDF-Erweiterung aufweist.

Screenshot of a condition filter for a .pdf file in a folder.

Gehen Sie beispielsweise davon aus, Sie haben eine Logik-App, die eine E-Mail senden muss, je nachdem, ob bestimmte Felder in einem Event Grid-Trigger gefunden werden können. Sie würden dafür eine Bedingung in Ihrer Logik-App erstellen, die die Ereignisdaten überprüfen und davon abhängig eine Aktion aufrufen kann.

Aktionen

In Logik-Apps stehen integrierte Trigger und Aktionen zur Verfügung. Sie können mithilfe von Logik-Apps Workflows orchestrieren, mit anderen Apps und Diensten kommunizieren und Daten verwalten oder bearbeiten.

Dies sind einige Beispiele für die vielen integrierten Aktionen:

  • Azure Service Bus
  • SQL Server
  • Office 365 Outlook
  • Salesforce

Angenommen, Sie haben eine Logik-App, die als Reaktion auf ein Ereignis eine E-Mail senden muss. Dafür könnten Sie die integrierte Office 365 Outlook-Aktion verwenden.

JSON-Konfiguration

Die Befehlsleiste des Logic Apps-Designers verfügt über zwei Ansichten einer Logik-App; beide Ansichten können für die Entwicklung und Konfiguration verwendet werden:

  • Designer: Grafische Benutzeroberfläche zum Zuordnen aller Trigger, Aktionen und Connectors
  • Codeansicht: JSON-Format Ihrer Logik-App-Konfiguration, mit dem Sie jeden Trigger, jedes Ereignis, jede Verbindung oder jedes zugehörige Feld, das Sie zugeordnet haben, bearbeiten können.

Screenshot of the choice of two views for a logic app.

Wählen Sie in der Befehlsleiste des Logic Apps-Designers die Option Codeansicht aus, um die JSON-Konfiguration für den Event Grid-Trigger anzuzeigen, den Sie erstellt haben.

Prüfen Sie den JSON-Konfigurationscode für Ihre Ereignistrigger, und Sie werden die Einstellungen und Konzepte erkennen, die Sie bisher abgeschlossen haben. Je besser Sie sich mit JSON auskennen, desto selbstsicherer können Sie die JSON-Konfiguration direkt bearbeiten.

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {},
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {
            "$connections": {
                "defaultValue": {},
                "type": "Object"
            }
        },
        "triggers": {
            "When_a_resource_event_occurs": {
                "inputs": {
                    "body": {
                        "properties": {
                            "destination": {
                                "endpointType": "webhook",
                                "properties": {
                                    "endpointUrl": "@{listCallbackUrl()}"
                                }
                            },
                            "filter": {
                                "includedEventTypes": [
                                    "Microsoft.Resources.ResourceActionSuccess",
                                    "Microsoft.Resources.ResourceDeleteSuccess",
                                    "Microsoft.Resources.ResourceWriteSuccess"
                                ]
                            },
                            "topic": "/subscriptions/826d0748-8207-40ad-9e9c-44be4fa3f764/resourceGroups/learn-d022bcb1-0ce2-4e71-99a6-2ddd19e85389"
                        }
                    },
                    "host": {
                        "connection": {
                            "name": "@parameters('$connections')['azureeventgrid']['connectionId']"
                        }
                    },
                    "path": "/subscriptions/@{encodeURIComponent('826d0748-8207-40ad-9e9c-44be4fa3f764')}/providers/@{encodeURIComponent('Microsoft.Resources.ResourceGroups')}/resource/eventSubscriptions",
                    "queries": {
                        "x-ms-api-version": "2017-09-15-preview"
                    }
                },
                "splitOn": "@triggerBody()",
                "type": "ApiConnectionWebhook"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "azureeventgrid": {
                    "connectionId": "/subscriptions/826d0748-8207-40ad-9e9c-44be4fa3f764/resourceGroups/learn-d022bcb1-0ce2-4e71-99a6-2ddd19e85389/providers/Microsoft.Web/connections/azureeventgrid",
                    "connectionName": "azureeventgrid",
                    "id": "/subscriptions/826d0748-8207-40ad-9e9c-44be4fa3f764/providers/Microsoft.Web/locations/westus/managedApis/azureeventgrid"
                }
            }
        }
    }
}

Es ist auch eine Erweiterung verfügbar, damit Sie Ihre Logik-Apps in Visual Studio Code bearbeiten können. Sie können diese Erweiterung über den Visual Studio Marketplace oder direkt in Visual Studio Code herunterladen und sie installieren.

Screenshot of Azure Logic Apps in a list of Visual Studio Code extensions.

Verwenden Sie die Designer view (Designeransicht) im Azure-Portal, um die Logik-App so zu konfigurieren, dass sie auf Trigger reagiert.