Compilación de lógica que responda a un evento

Completado

Al crear eventos en Azure Event Grid, tiene que elegir cómo responder a esos eventos y qué acciones se deben producir.

Ha configurado una aplicación lógica en su organización de atención sanitaria para que escuche los eventos relacionados con sus recursos de Azure. Ahora tiene que filtrar los eventos y crear acciones basadas en las condiciones que hay en ellos.

Aquí aprenderá a crear acciones y condiciones para responder a eventos.

Condiciones

Para ejecutar acciones en la aplicación lógica si los eventos pasan una condición especificada, agregará una instrucción condicional. Esta estructura de control compara los datos de un flujo de trabajo con valores o campos concretos. Después, deberá especificar las diferentes acciones que se ejecutarán en función de si los datos cumplen la condición.

En la imagen siguiente se muestra un ejemplo de un filtro que comprueba si un nombre de archivo de un directorio tiene la extensión .pdf.

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

Por ejemplo, supongamos que tiene una aplicación lógica que necesita enviar un correo electrónico basado en determinados campos que se encuentran en un desencadenador de Event Grid. Creará una condición en la aplicación lógica que podría comprobar los datos del evento y llamar condicionalmente a una acción.

Acciones

Las aplicaciones lógicas proporcionan desencadenadores y acciones integrados. Puede usar las aplicaciones lógicas para orquestar flujos de trabajo, comunicarse con otras aplicaciones y servicios, y administrar o manipular datos.

A continuación se muestran algunas de las muchas acciones integradas:

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

Supongamos que tiene una aplicación lógica que necesita enviar un correo electrónico como respuesta a un evento. Puede usar la acción integrada Office 365 Outlook.

Configuración de JSON

La barra de comandos Diseñador de Logic Apps tiene dos vistas de una aplicación lógica; puede usar ambas para el desarrollo y la configuración:

  • Diseñador: interfaz gráfica para asignar todos los desencadenadores, acciones y conectores.
  • Vista de código: Formato JSON de la configuración de la aplicación lógica, que le permite editar cualquier desencadenador, evento, conexión o campo relacionado que haya asignado.

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

En la barra de comandos Diseñador de Logic Apps, seleccione Vista de código para ver la configuración JSON del desencadenador de Event Grid que ha creado.

Si revisa el código de configuración JSON de sus desencadenadores de eventos, reconocerá la configuración y los conceptos que hemos completado hasta ahora. A medida que se familiarice con JSON, podrá editar con confianza la configuración JSON directamente.

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

También hay disponible una extensión que le permite editar las aplicaciones lógicas en Visual Studio Code. Puede descargar e instalar esta extensión desde Visual Studio Marketplace o directamente desde Visual Studio Code.

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

Se usará la vista de diseñador de Azure Portal para configurar la aplicación lógica a fin de responder a los desencadenadores.