Logica ontwikkelen die reageert op een gebeurtenis

Voltooid

Wanneer u gebeurtenissen in Azure Event Grid maakt, kiest u hoe er op deze gebeurtenissen moet worden gereageerd en welke acties er moeten worden uitgevoerd.

U hebt een logische app ingesteld voor uw organisatie in de gezondheidszorg om te luisteren naar gebeurtenissen die betrekking hebben op uw Azure-resources. Nu moet u de gebeurtenissen filteren en acties maken op basis van voorwaarden in deze gebeurtenissen.

Hier wordt beschreven hoe u acties en voorwaarden maakt om op gebeurtenissen te reageren.

Voorwaarden

Als u acties wilt uitvoeren in uw logische app nadat gebeurtenissen een opgegeven voorwaarde hebben doorgegeven, voegt u een voorwaardelijke instructie toe. Met dit beheermechanisme vergelijkt u de gegevens in uw werkstroom met specifieke waarden of velden. Vervolgens geeft u verschillende acties op die worden uitgevoerd op basis van of de gegevens voldoen aan de voorwaarde.

In de volgende afbeelding ziet u een voorbeeld van een filter waarmee wordt gecontroleerd of een bestandsnaam in een map de EXTENSIE .pdf heeft.

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

Stel dat u bijvoorbeeld een logische app hebt die een e-mailbericht moet verzenden op basis van bepaalde velden die in een Event Grid-trigger voorkomen. U maakt in dat geval een voorwaarde in uw logische app die de gebeurtenisgegevens kan controleren en onder bepaalde voorwaarden een actie kan aanroepen.

Acties

Logische apps bieden ingebouwde triggers en acties. U kunt logische apps gebruiken om werkstromen te organiseren, te communiceren met andere apps en services en gegevens te beheren of te bewerken.

Hier volgen enkele van de vele ingebouwde acties:

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

Stel dat u een logische app hebt die een e-mailbericht moet verzenden als reactie op een gebeurtenis. U kunt de ingebouwde Office 365 Outlook-actie gebruiken.

JSON-configuratie

De opdrachtbalk Logic Apps Designer heeft twee weergaven van een logische app; u kunt beide weergaven gebruiken voor ontwikkeling en configuratie:

  • Ontwerpfunctie: Grafische interface voor het toewijzen van alle triggers, acties en connectors.
  • Codeweergave: JSON-indeling van de configuratie van uw logische app, waarmee u een trigger, gebeurtenis, verbinding of gerelateerd veld kunt bewerken dat u hebt toegewezen.

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

Selecteer in de opdrachtbalk van Logic Apps Designer de codeweergave om de JSON-configuratie te zien voor de Event Grid-trigger die u hebt gemaakt.

Controleer de JSON-configuratiecode voor uw gebeurtenistriggers en u herkent de instellingen en concepten die we tot nu toe hebben voltooid. Naarmate u meer vertrouwd raakt met JSON, kunt u de JSON-configuratie rechtstreeks bewerken.

{
    "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"
                }
            }
        }
    }
}

Er is ook een extensie beschikbaar waarmee u uw logische apps in Visual Studio Code kunt bewerken. U kunt deze extensie downloaden en installeren via de Visual Studio Marketplace of rechtstreeks vanuit Visual Studio Code.

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

Laten we de ontwerpweergave in Azure Portal gebruiken om de logische app te configureren om te reageren op triggers.