建立响应事件的逻辑

已完成

在 Azure 事件网格中创建事件时,可选择响应这些事件的方式和应执行的操作。

你已经为你的医疗保健组织设置了逻辑应用,以侦听与你的 Azure 资源相关的事件。 现在,你需要筛选事件并根据事件中的条件创建操作。

接下来,你将了解如何创建操作和条件以响应事件。

条件

若要在事件通过指定条件后在逻辑应用中运行操作,请添加条件语句。 此控制结构将工作流中的数据与特定值或字段进行比较。 然后,根据数据是否满足条件来指定要运行的各种操作。

以下图像显示了一个筛选器示例,该筛选器检查目录中的文件名是否具有 .pdf 扩展名。

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

例如,假设你有一个逻辑应用,该应用需要根据在事件网格触发器中找到的某些字段来发送电子邮件。 你需要在逻辑应用中创建一个条件,该条件可以检查事件数据并有条件地调用操作。

操作

逻辑应用提供内置触发器和操作。 可以使用逻辑应用编排工作流、与其他应用和服务进行通信以及管理或操纵数据。

以下是众多内置操作的一部分:

  • Azure 服务总线
  • SQL Server
  • Office 365 Outlook
  • Salesforce

假设你有一个逻辑应用,该应用需要发送电子邮件以响应事件。 你可以使用内置的 Office 365 Outlook 操作。

JSON 配置

逻辑应用设计器命令栏有逻辑应用的两种视图;可以使用两种视图进行开发和配置:

  • 设计器:用于映射所有触发器、操作和连接器的图形界面。
  • 代码视图:你的逻辑应用配置的 JSON 格式,它让你可以编辑已映射的任何触发器、事件、连接或相关字段。

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

在“逻辑应用设计器”命令栏中,选择“代码视图”以查看创建的事件网格触发器的 JSON 配置。

查看事件触发器的 JSON 配置代码,你将了解我们目前已完成的设置和概念。 随着你对 JSON 越来越熟悉,你将能够自信地直接编辑 JSON 配置。

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

Visual Studio Code 中还提供了扩展,供你编辑逻辑应用。 你可以从 Visual Studio Marketplace 或直接从 Visual Studio Code 内部下载并安装此扩展。

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

让我们使用 Azure 门户中的设计器视图来配置逻辑应用以响应触发器。