Criar lógica que responde a um evento

Concluído

Quando cria eventos no Azure Event Grid, escolhe como responder a esses eventos e as ações que devem ocorrer.

Configurou uma aplicação lógica para a sua organização de cuidados de saúde para detetar eventos relacionados com os seus recursos do Azure. Agora, você precisa filtrar os eventos e criar ações com base nas condições dentro deles.

Aqui, irá aprender a criar ações e condições para responder a eventos.

Condições

Para executar ações em seu aplicativo lógico depois que os eventos passarem por uma condição especificada, você adicionará uma instrução condicional. Esta estrutura de controlo compara os dados no seu fluxo de trabalho face a valores ou campos específicos. Em seguida, você especificará diferentes ações que serão executadas com base em se os dados atendem à condição.

A imagem a seguir mostra um exemplo de um filtro que verifica se um nome de arquivo em um diretório tem a extensão .pdf.

Captura de ecrã de um filtro de condição para um ficheiro .pdf numa pasta.

Por exemplo, imagine que tem uma aplicação lógica que precisa de enviar um e-mail com base na identificação de determinados campos num acionador do Event Grid. Iria criar uma condição na sua aplicação lógica que poderia verificar os dados dos eventos e solicitar condicionalmente uma ação.

Ações

Os aplicativos lógicos fornecem gatilhos e ações integrados. Você pode usar aplicativos lógicos para orquestrar fluxos de trabalho, se comunicar com outros aplicativos e serviços e gerenciar ou manipular dados.

Aqui estão algumas das muitas ações integradas:

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

Imagine que tem uma aplicação lógica que precisa de enviar um e-mail em resposta a um evento. Poderia utilizar a ação incorporada Outlook do Office 365.

Configuração JSON

A barra de comandos do Logic Apps Designer tem duas vistas de uma aplicação lógica. Você pode usar ambos os modos de exibição para desenvolvimento e configuração:

  • Designer: Interface gráfica para mapear todos os gatilhos, ações e conectores.
  • Visualização de código: formato JSON da configuração do seu aplicativo lógico, que permite editar qualquer gatilho, evento, conexão ou campo relacionado mapeado.

Captura de ecrã da escolha de duas vistas para uma aplicação lógica.

Na barra de comandos do Logic Apps Designer, selecione Visualização de código para ver a configuração JSON para o gatilho de Grade de Eventos que você criou.

Revise o código de configuração JSON para seus gatilhos de evento e você reconhecerá as configurações e os conceitos que concluímos até agora. À medida que você se familiarizar com o JSON, poderá editar diretamente a configuração JSON com confiança.

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

Uma extensão também está disponível para permitir que você edite seus aplicativos lógicos no Visual Studio Code. Pode transferir e instalar esta extensão a partir do Marketplace do Visual Studio ou diretamente a partir do Visual Studio Code.

Captura de ecrã das Aplicações Lógicas do Azure numa lista de extensões de código do Visual Studio.

Vamos usar o modo de exibição Designer no portal do Azure para configurar o aplicativo lógico para responder a gatilhos.