你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 Azure 逻辑应用创建基于审批的工作流

适用于:Azure 逻辑应用(消耗)

本教程介绍如何使用 Azure 逻辑应用生成示例工作流,用于自动完成基于审批的任务。 此示例专门创建了一个消耗逻辑应用工作流,用于处理由 MailChimp 管理的邮件列表的订阅请求。

此工作流首先监视电子邮件帐户的请求,然后发送收到的请求以获取批准,检查请求是否获得批准,向邮件列表添加已批准的成员,并确认是否向列表中添加了新成员。

完成后,你的工作流类似于以下概括示例:

屏幕截图显示了简要“消耗”工作流的示例。

提示

若要了解详细信息,可以向 Azure Copilot 提出以下问题:

  • 什么是 Azure 逻辑应用?
  • 什么是消耗逻辑应用工作流?

若要查找 Azure Copilot,请在 Azure 门户 工具栏上,选择“Copilot”

可以使用标准逻辑应用资源创建类似的工作流,其中的某些连接器操作(例如 Azure Blob 存储)也可用作内置的基于服务提供程序的操作。 但是,用户体验和教程步骤与消耗版略有不同。

先决条件

  • Azure 帐户和订阅。 如果没有订阅,可以注册免费的 Azure 帐户

  • 一个 MailChimp 帐户,你之前在其中创建了名为“test-members-ML”的列表,供逻辑应用在其中为批准的成员添加电子邮件地址。 如果没有帐户,请注册免费帐户,然后了解如何创建 MailChimp 列表

  • Office 365 Outlook 或 Outlook.com 中的电子邮件帐户,支持审批工作流。 对于其他电子邮件提供程序,请参阅 Azure 逻辑应用的连接器

    本教程通过工作或学校帐户使用 Office 365 Outlook。 如果你使用其他电子邮件帐户,则常规步骤保持不变,但用户体验可能稍有不同。 如果使用 Outlook.com,请转为使用个人 Microsoft 帐户登录。

    重要

    如果你要使用 Gmail 连接器,只有 G-Suite 商业帐户可以在逻辑应用工作流中不受限制地使用此连接器。 如果有 Gmail 用户帐户,则只能将此连接器与 Google 批准的特定服务一起使用,也可以创建用于通过 Gmail 连接器进行身份验证的 Google 客户端应用。 有关详细信息,请参阅 Azure 逻辑应用中 Google 连接器的数据安全和隐私策略

  • 如果你的逻辑应用工作流需要通过仅限流量流经特定 IP 地址的防火墙进行通信,则该防火墙需要允许访问该逻辑应用资源所在的 Azure 区域中的 Azure 逻辑应用使用的入站出站 IP 地址。 如果逻辑应用还使用托管连接器(如 Office 365 Outlook 连接器或 SQL 连接器),或使用自定义连接器,则防火墙还需要允许访问逻辑应用的 Azure 区域中的所有托管连接器出站 IP 地址

创建消耗逻辑应用资源

  1. Azure 门户中,使用 Azure 帐户登录。

  2. 在 Azure 门户搜索框中输入“逻辑应用”,然后选择“逻辑应用”

    屏幕截图显示了 Azure 门户搜索框,其中输入了“逻辑应用”并选择了“逻辑应用”选项。

  3. 在“逻辑应用”页工具栏上,选择“添加”

    此时会显示“创建逻辑应用”页,其中显示了以下选项

    计划 说明
    消耗 创建一个逻辑应用资源,该资源仅支持在多租户 Azure 逻辑应用中运行的一个工作流,并使用消耗计费模式
    标准 创建支持多个工作流的逻辑应用资源。 可以使用以下选项:

    - 工作流服务计划:工作流在单租户 Azure 逻辑应用中运行,使用标准计费模式

    - 应用服务环境 V3:工作流在单租户 Azure 逻辑应用中运行,使用应用服务环境计费计划

    - 混合(预览版):工作流使用 Kubernetes 事件驱动的自动缩放 (KEDA) 在本地和多个云中运行。 有关详细信息,请参阅创建混合部署的标准工作流
  4. 在“创建逻辑应用”页面上,选择“消耗(多租户)”

  5. 在“基本信息”选项卡上,提供有关逻辑应用资源的以下信息

    properties 需要 说明
    订阅 <Azure-subscription-name> Azure 订阅名称。

    此示例使用“即用即付”。
    资源组 <Azure-resource-group-name> 你在其中创建逻辑应用和相关资源的 Azure 资源组。 该名称在各个区域中必须独一无二,并且只能包含字母、数字、连字符 (-)、下划线 (_)、括号 (()) 和句点 (.)。

    此示例创建一个名为 LA-MailingList-RG 的资源组
    逻辑应用名称 <logic-app-resource-name> 逻辑应用资源名称在各个区域中必须唯一,且只能包含字母、数字、连字符(-)、下划线(_)、括号(())和句点(.)。

    此示例创建一个名为 LA-MailingList 的逻辑应用资源
    区域 <Azure-region> 应用的 Azure 数据中心区域。

    此示例使用“美国西部”。
    启用日志分析 只在要启用诊断日志记录时,才更改此选项。 对于本教程,请保留默认选择。

    注意:此选项仅适用于消耗逻辑应用

    注意

    对于支持可用性区域的 Azure 区域中的新建和现有“消耗”逻辑应用工作流,将自动启用可用性区域。 有关详细信息,请参阅 Azure Functions 的可靠性通过区域冗余和可用性区域保护逻辑应用免受区域故障的影响

    完成后,设置应如以下示例所示:

    屏幕截图显示了 Azure 门户和多租户消耗逻辑应用的创建页面和详细信息。

  6. 完成后,选择“查看 + 创建”。 在 Azure 验证你的逻辑应用资源的相关信息后,请选择“创建”。

  7. 在 Azure 部署你的逻辑应用资源后,请选择“转到资源”。 或者,使用 Azure 搜索框查找并选择你的逻辑应用资源。

添加用于检查电子邮件的触发器

以下步骤可添加一个触发器,用于等待包含订阅请求的传入电子邮件。

  1. 在逻辑应用菜单中的“开发工具”下,选择“逻辑应用设计器”

  2. 在工作流设计器中,按照这些常规步骤添加名为“收到新电子邮件时”的“Office 365 Outlook”触发器

    Office 365 Outlook 连接器需要使用 Microsoft 工作或学校帐户登录。 如果你使用个人 Microsoft 帐户,请使用 Outlook.com 连接器。

  3. 登录到你的电子邮件帐户,这会在工作流和电子邮件帐户之间创建连接。

  4. 在触发器信息框中,通过“高级参数”列表添加以下参数(如果未显示),并提供以下信息

    参数 价值 说明
    重要性 任意 指定所需电子邮件的重要性级别。
    文件夹 Inbox 要检查的电子邮件文件夹。
    主题筛选器 subscribe-test-members-ML 指定要在电子邮件主题中查找的文本,并根据主题行筛选电子邮件。

    注意

    在一些编辑框中进行选择后,将显示动态内容列表(闪电图标)和表达式编辑器(函数图标)的选项,可以暂时忽略这些选项。

    有关此触发器的属性的详细信息,请参阅 Office 365 Outlook 连接器参考Outlook.com 连接器参考

    完成后,触发器如以下示例所示:

    屏幕截图显示了消耗工作流,其中包含名为“新电子邮件到达时”的触发器。

  5. 保存工作流。 在设计器工具栏上选择“保存”。

你的工作流现已生成,但它只会检查你的电子邮件,而不执行其他操作。 接下来,请添加一项在触发器触发时进行响应的操作。

添加一项用于发送审批电子邮件的操作

以下步骤可添加一项操作,用于发送电子邮件以批准或拒绝请求。

  1. 在设计器中,在名为“新电子邮件到达时”的触发器下,按照以下常规步骤添加名为“发送审批电子邮件”的 Office 365 Outlook 操作

  2. 对于“发送审批电子邮件”操作,请提供以下信息

    properties 需要 说明
    To <approver-email-address> 审批者的电子邮件地址。 若要进行测试,请使用自己的地址。
    主题 <电子邮件主题> 一个描述性的电子邮件主题。

    此示例使用针对 test-members-ML 的“审批成员请求”

    有关这些属性的详细信息,请参阅 Office 365 Outlook 连接器参考Outlook.com 连接器参考

    完成后,“发送审批电子邮件”操作如以下示例所示

    屏幕截图显示了名为“发送审批电子邮件”的操作的信息。

  3. 保存工作流。

接下来请添加条件,用于检查审批者选定的响应。

添加一项用于检查审批响应的操作

  1. 在设计器的“发送审批电子邮件”操作下,按照以下常规步骤添加名为“条件”的“控制”操作

  2. 在“条件”操作窗格中,将操作重命名为“如果请求已批准”

  3. 生成一个条件,用于检查审批者是否选择了“批准”。

    1. 在“参数”选项卡上“AND”列表下的第一行中,选择左侧的框,然后选择动态内容列表(闪电图标)。 在此列表的“发送审批电子邮件”部分中,选择“SelectedOption”输出

      屏幕截图显示了条件操作、第二行,光标置于最左侧的框中,打开了动态内容列表,并且已选择“SelectedOption”。

    2. 在中间框中,保留名为“等于”的运算符。

    3. 在右侧的框中,输入批准

    完成后,条件如以下示例所示:

    屏幕截图显示了示例审批工作流中的已完成条件。

  4. 保存工作流。

添加一项将成员包含在 MailChimp 列表中的操作

以下步骤可添加一项操作,用于将已批准的成员包含在邮件列表中。

  1. 在条件的 True 块中,按照以下常规步骤添加名为“将成员添加到列表”的 MailChimp 操作

  2. 登录并授权访问 MailChimp 帐户,这会在工作流和 MailChimp 帐户之间创建连接。

  3. 在“将成员添加到列表”操作中,提供以下信息

    参数 必须 说明
    列表 ID <mailing-list-name> MailChimp 邮件列表的名称。

    此示例使用“test-members-ML”
    Status <member-subscription-status> 新成员的订阅状态。

    此示例选择了“已订阅”
    电子邮件地址 <member-email-address> 新成员的电子邮件地址。

    1.选择“电子邮件地址”框中的内容,然后选择动态内容列表(闪电图标)

    在动态内容列表的“新电子邮件到达时”部分,选择“发件人”,这是一个触发器输出

    有关“将成员添加到列表”操作属性的详细信息,请参阅 MailChimp 连接器参考

    完成后,“将成员添加到列表”操作如以下示例所示

    屏幕截图显示了名为“将成员添加到列表”的 MailChimp 操作的信息。

  4. 保存工作流。

添加一项用于检查成功或失败的操作

以下步骤可添加一个条件,用于检查新成员是否已成功加入邮件列表。 然后,工作流可以通知你此操作是成功还是失败。

  1. 在“True”块中的“将成员添加到列表”操作下,按照以下常规步骤添加名为“条件”的“控制”操作

  2. 将条件重命名为“如果添加成员成功”

  3. 生成一个条件,用于检查批准的成员在加入邮件列表时是成功还是失败。

    1. 在“参数”选项卡上“AND”列表下的第一行中,选择左侧的框,然后选择动态内容列表(闪电图标)。 在此列表的“将成员添加到列表”部分中,选择“状态”输出

    2. 在中间框中,保留名为“等于”的运算符。

    3. 在右侧框中,输入“已订阅”

    完成后,条件如以下示例所示:

    屏幕截图显示了用于检查已添加成员的已完成条件。

添加一项用于发送成功电子邮件的操作

以下步骤可添加一项操作,用于在工作流成功将成员添加到邮件列表时发送成功电子邮件。

  1. 在“如果添加成员成功”条件的“True”块中,按照以下常规步骤添加名为“发送电子邮件”的 Office 365 Outlook 操作

  2. 将“发送电子邮件”操作重命名为“成功时发送电子邮件”

  3. 在“成功时发送电子邮件”操作中,提供以下信息

    参数 必须 说明
    To <recipient-email-address> 电子邮件收件人的电子邮件地址。 出于测试的目的,请使用你自己的电子邮件地址。
    主题 <success-email-subject> 成功电子邮件的主题。 对于本示例,请遵循以下步骤:

    1.请输入以下文本,并在末尾留一个空格:成功!成员已添加到 test-members-ML:

    2.选择“主题”框中的内容,并选择动态内容列表选项(闪电图标)

    3.在“将成员添加到列表”部分,选择“电子邮件地址”

    注意:如果未显示此输出,请在“将成员添加到列表”部分名称旁边,选择“查看详细信息”
    正文 <success-email-body> 成功电子邮件的正文内容。 对于本示例,请遵循以下步骤:

    1.请输入以下文本,并在末尾留一个空格:成员选择加入状态:

    2.选择“正文”框中的内容,并选择动态内容列表选项(闪电图标)

    3.在“将成员添加到列表”部分,选择“状态”

    完成后,操作如以下示例所示:

    屏幕截图显示了名为“成功时发送电子邮件”的操作的信息。

  4. 保存工作流。

添加一项用于发送失败电子邮件的操作

以下步骤可添加一项操作,用于在工作流未能将成员添加到邮件列表时发送失败电子邮件。

  1. 在“如果添加成员成功”条件的“False”块中,按照以下常规步骤添加名为“发送电子邮件”的 Office 365 Outlook 操作

  2. 将“发送电子邮件”操作重命名为“失败时发送电子邮件”

  3. 在“失败时发送电子邮件”操作中,提供以下信息

    参数 必须 说明
    To <recipient-email-address> 电子邮件收件人的电子邮件地址。 出于测试的目的,请使用你自己的电子邮件地址。
    主题 <failure-email-subject> 失败电子邮件的主题。 对于本示例,请遵循以下步骤:

    1.请输入以下文本,并在末尾留一个空格:失败,成员未添加到 test-members-ML:

    2.选择“主题”框中的内容,并选择动态内容列表选项(闪电图标)

    3.在“将成员添加到列表”部分,选择“电子邮件地址”

    注意:如果未显示此输出,请在“将成员添加到列表”部分名称旁边,选择“查看详细信息”
    正文 <failure-email-body> 失败电子邮件的正文内容。

    对于此示例,请输入以下文本:成员可能已存在。请检查 MailChimp 帐户。

    完成后,操作如以下示例所示:

    屏幕截图显示了名为“失败时发送电子邮件”的操作的信息。

  4. 保存工作流。

已完成的工作流类似于以下示例:

屏幕截图显示了已完成的工作流示例。

测试工作流

  1. 向自己发送一封加入邮件列表的电子邮件请求。 等待请求显示在收件箱中。

  2. 若要手动启动工作流,请在设计器工具栏中选择“运行”>“运行”

    如果电子邮件的主题与触发器的主题筛选器匹配,你的工作流会向你发送审批订阅请求的电子邮件。

  3. 在收到的审批电子邮件中,选择“批准”。

  4. 如果订阅者的电子邮件地址在邮件列表中不存在,你的工作流会添加此人的电子邮件地址,并向你发送一封电子邮件,如以下示例所示:

    屏幕截图显示了成功订阅的电子邮件示例。

  5. 如果你的工作流无法添加订阅者,你会收到一封电子邮件,如以下示例所示:

    屏幕截图显示了失败订阅的电子邮件示例。

提示

如果没有收到任何电子邮件,请检查电子邮件的垃圾邮件文件夹。 否则,如果不确定逻辑应用是否正常运行,请参阅逻辑应用故障排除

恭喜,你创建并运行了一个可以跨 Azure、Microsoft 服务和其他 SaaS 应用集成信息的逻辑应用工作流!

清理资源

你的工作流将继续运行,直到你禁用或删除逻辑应用资源。 不再需要此示例时,删除包含你的逻辑应用和相关资源的资源组。

你的工作流将继续运行,直到你禁用或删除逻辑应用资源。 不再需要此示例时,删除包含你的逻辑应用和相关资源的资源组。

  1. 在 Azure 门户搜索框中输入“资源组”,然后选择“资源组”

  2. 从“资源组”列表中,选择本教程的资源组。

  3. 在资源组菜单中,选择“概述”

  4. 在“概述”页面的工具栏上,选择“删除资源组”

  5. 出现确认窗格时,输入资源组名称,然后选择“删除”。

后续步骤

本教程介绍了如何创建逻辑应用工作流,以便处理邮件列表请求的审批。 现在,请了解如何集成 Azure 存储和 Azure Functions 之类的 Azure 服务,以便生成处理和存储电子邮件附件的逻辑应用工作流。