Creare logica che risponda a un evento

Completato

Quando si creano eventi in Griglia di eventi di Azure, è possibile scegliere come rispondere a tali eventi e quali azioni devono essere eseguite.

È stata configurata per l'organizzazione sanitaria un'app per la logica che sia in ascolto di eventi correlati alle risorse di Azure. È ora necessario filtrare gli eventi e creare azioni in base alle condizioni all'interno di essi.

In questo articolo si apprenderà come creare azioni e condizioni per rispondere agli eventi.

Condizioni

Per eseguire azioni nell'app per la logica dopo che gli eventi hanno passato una condizione specifica, aggiungere un'istruzione condizionale. Questa struttura di controllo confronta i dati nel flusso di lavoro con valori o campi specifici. Si specificano quindi azioni diverse che vengono eseguite se i dati soddisfano la condizione.

L'immagine seguente illustra un esempio di filtro che controlla se un nome file in una directory ha l'estensione pdf.

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

Si supponga, ad esempio, di avere un'app per la logica che deve inviare un messaggio di posta elettronica in base a campi specifici presenti in un trigger di Griglia di eventi. Si può creare nell'app per la logica una condizione che possa controllare i dati degli eventi e chiamare un'azione in modo condizionale.

Azioni

Le app per la logica forniscono trigger e azioni predefiniti. È possibile usare le app per la logica per orchestrare flussi di lavoro, comunicare con altre app e altri servizi e gestire o modificare i dati.

Di seguito sono riportate alcune delle numerose azioni predefinite.

  • Bus di servizio di Azure
  • SQL Server
  • Office 365 Outlook
  • Salesforce

Si supponga di avere un'app per la logica che deve inviare un messaggio di posta elettronica in risposta a un evento. È possibile usare l'azione predefinita Office 365 Outlook.

Configurazione JSON

La barra dei comandi di Progettazione app per la logica include due visualizzazioni di un'app per la logica che possono essere usate entrambe per lo sviluppo e la configurazione:

  • Finestra di progettazione: interfaccia grafica per il mapping di tutti i trigger, le azioni e i connettori.
  • Visualizzazione codice: formato JSON della configurazione dell'app per la logica, che consente di modificare qualsiasi trigger, evento, connessione o campo correlato mappato.

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

Nella barra dei comandi di Progettazione app per la logica selezionare Visualizzazione Codice per visualizzare la configurazione JSON per il trigger di Griglia di eventi creato.

Esaminando il codice di configurazione JSON per i trigger di evento, si riconosceranno le impostazioni e i concetti completati finora. Man mano che si ha familiarità con JSON, sarà possibile modificare in modo sicuro la configurazione JSON direttamente.

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

Per la modifica delle app per la logica in Visual Studio Code è anche disponibile un'estensione. È possibile scaricare e installare questa estensione da Visual Studio Marketplace o direttamente da Visual Studio Code.

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

Si userà ora la Visualizzazione Progettazione nel portale di Azure per configurare l'app per la logica in modo che risponda ai trigger.