Compartir a través de

使用 Azure 门户创建示例标准逻辑应用工作流

适用于:Azure 逻辑应用(标准)

本操作指南演示了如何创建示例自动化工作流,用于等待入站 Web 请求,然后将消息发送到电子邮件帐户。 更具体地说,你会创建标准逻辑应用资源,该资源可以包含多个在单租户 Azure 逻辑应用中运行的有状态和无状态工作流

  • “请求”触发器创建可调用的终结点,该终结点可处理任何调用方的入站请求
  • Office 365 Outlook 连接器,提供发送电子邮件的操作。

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

屏幕截图显示了 Azure 门户,其中包括示例“消耗”工作流、“请求”触发器和 Office 365 Outlook 操作。

标准逻辑应用中可以有多个工作流。 同一逻辑应用和租户中的工作流的运行过程与 Azure 逻辑应用运行时相同,因此它们共享相同的资源并提供更好的性能。

提示

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

  • 什么是 Azure 逻辑应用?
  • 什么是标准逻辑应用工作流?
  • 什么是请求触发器?
  • 什么是 Office 365 Outlook 连接器?

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

本示例中的操作来自 1000 多个连接器中可以在工作流中使用的两个连接器。 尽管此示例是基于云的,但你可以创建跨云、本地和混合环境集成大量应用、数据、服务和系统的工作流。

你将逐渐完成以下高级任务:

若要使用其他工具创建和管理标准逻辑应用工作流,请参阅使用 Visual Studio Code 创建标准工作流。 借助 Visual Studio Code,你可以在本地开发环境中开发、测试和运行工作流

有关详细信息,请参阅以下文档:

先决条件

  • 要将标准逻辑应用资源部署到 应用服务环境 v3 (ASEv3) - 仅限 Windows 计划 中,必须先创建此环境资源。 然后在创建逻辑应用时选择此环境作为部署位置。 有关详细信息,请参阅资源类型和环境创建应用服务环境

  • 若要让标准逻辑应用工作流能够与高级集成帐户上的专用终结点进行通信,必须有一个现有的 Azure 虚拟网络。 逻辑应用、虚拟网络和集成帐户都必须使用相同的 Azure 区域。 逻辑应用和集成帐户必须存在于同一虚拟网络中。 有关详细信息,请参阅创建虚拟网络

  • 如果在逻辑应用上启用 Application Insights,可以选择启用诊断日志记录和跟踪。 你可以在创建逻辑应用时或在部署后执行此操作。 你需要有一个 Application Insights 实例,但你可以在创建逻辑应用时提前创建此资源,或在部署后创建此资源。

最佳做法和建议

为了获得最佳设计器的响应能力和性能,请查看并遵循以下准则:

  • 每个工作流使用不超过 50 个操作。 超过此数量的操作可能会降低设计器的性能。

  • 考虑在必要时将业务逻辑拆分为多个工作流。

  • 每个逻辑应用资源的工作流不超过 10-15 个。

逻辑应用中的工作流越多,加载时间就可能会越长,这可能会导致性能下降。 如果任务关键型逻辑应用需要零停机部署,请考虑设置部署槽位

创建标准逻辑应用资源

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

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

    屏幕截图显示了包含字词、逻辑应用的 Azure 门户搜索框,并显示了选择内容“逻辑应用”。

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

  4. 在“创建逻辑应用”页上,选择“标准(工作流服务计划)”

    计划类型 说明
    标准 此逻辑应用类型是默认选择。 工作流在单租户 Azure 逻辑应用中运行,并使用标准定价模型
    消耗 此逻辑应用类型和工作流在全局多租户 Azure 逻辑应用中运行,并使用 消耗定价模型
  5. 在“创建逻辑应用”页中的“基本信息”选项卡上,提供有关你的逻辑应用的以下基本信息:

    属性 需要 说明
    订阅 <Azure-subscription-name> Azure 订阅名称。
    资源组 <Azure-resource-group-name> 你在其中创建逻辑应用和相关资源的 Azure 资源组。 此名称在各个区域中必须是唯一的,并且只能包含字母、数字、连字符 (-)、下划线 (_)、括号 (()) 和句点 (.)。

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

    注意:逻辑应用的名称会自动获取后缀 .chinacloudsites.cn,因为标准逻辑应用资源由单租户 Azure 逻辑应用运行时提供支持,该运行时使用 Azure Functions 扩展性模型,并作为扩展托管在 Azure Functions 运行时上。 Azure Functions 使用相同的应用命名约定。

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

    此示例使用“中国北部”。
    Windows 计划 <plan-name> 要使用的计划名称。 选择一个现有计划名称或为新计划提供一个名称。

    此示例使用的名称为“My-App-Service-Plan”。

    注意:请勿使用基于 Linux 的应用服务计划。 仅支持基于 Windows 的应用服务计划。
    定价计划 <pricing-tier> 用于逻辑应用和工作流的 定价层。 你的选择会影响逻辑应用和工作流使用的定价、计算、内存和存储。

    有关详细信息,请查看托管计划和定价层

    注意

    如果选择支持可用性区域冗余的 Azure 区域,则会启用“区域冗余”部分。 此部分提供了为逻辑应用启用可用性区域冗余的选项。 但是,当前支持的 Azure 区域不包括中国北部,因此可以忽略本示例的此部分。 有关详细信息,请参阅通过区域冗余和可用性区域保护逻辑应用免受区域故障的影响

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

    屏幕截图显示了 Azure 门户和名为“创建逻辑应用工作流服务计划”的页面。

    注意

    标准逻辑应用需要 FUNCTIONS_WORKER_RUNTIME 应用设置,并且该值以前设置为节点。 但是,对于所有新的和现有的已部署标准逻辑应用,现在所需的值为 dotnet。 此值更改不会影响工作流的运行时,因此一切都应和以前一样。 有关详细信息,请参阅 FUNCTIONS_WORKER_RUNTIME 应用设置

    标准逻辑应用需要 APP_KIND 应用设置,并且该值必须为 workflowApp。 但是,在某些情况下(例如使用 Azure 资源管理器模板进行自动化,和其他未包含该设置的情况)会缺少此应用设置。 如果某些操作不起作用(如执行 JavaScript 代码操作或工作流停止工作),请检查 APP_KIND 应用设置是否存在且设置为 workflowApp。 有关详细信息,请参阅 APP_KIND 应用设置

  6. 完成后,选择“下一步: 存储”

  7. 在“存储”选项卡上,提供以下有关要用于逻辑应用的存储解决方案和托管计划的信息

    properties 需要 说明
    存储类型 - Azure 存储
    - SQL 和 Azure 存储
    要用于工作流相关的项目和数据的存储类型。

    - 若要仅部署到 Azure,请选择“Azure 存储”。

    - 若要将 SQL 用作主存储,并将 Azure 存储用作辅助存储,请选择“SQL 和 Azure 存储”,并查看在单租户 Azure 逻辑应用中为标准逻辑应用设置 SQL 数据库存储

    注意:如果要部署到 Azure 区域,则仍然需要 Azure 存储帐户,该帐户用于在 Azure 逻辑应用平台上完成对逻辑应用配置的一次托管。 工作流状态、运行历史记录和其他运行时项目均存储在 SQL 数据库中。

    若要部署到托管在 Azure Arc 群集上的自定义位置,将 SQL 用作存储提供程序即可。
    存储帐户 <Azure-storage-account-name> 要用于存储事务的 Azure 存储帐户

    此资源名称在各个区域中必须唯一,长度为 3-24 个字符,并且仅包含数字和小写字母。 选择一个现有的帐户,或者创建一个新帐户。

    此示例创建了名为 mystorageacct 的存储帐户。
  8. 在“网络”选项卡上,可以遵循示例保留默认选项。 但是,对于具体的实际场景,请确保查看并选择以下合适的选项。 还可以在部署逻辑应用资源后更改此配置。 更多信息请参阅 使用专用终结点保护标准逻辑应用与 Azure 虚拟网络之间的流量

    以下“启用公共访问”设置适用于逻辑应用上的终结点,并且不会影响逻辑应用是否可以与同一虚拟网络中的 Azure 资源通信,例如,具有专用终结点的高级集成帐户。 若要访问此类 Azure 资源,逻辑应用必须与这些资源位于同一虚拟网络中。

    启用公共访问 行为
    逻辑应用有公共终结点,其中包含一个对 Internet 开放的入站地址。 对于 Azure 虚拟网络外部的客户端,它们可以使用此终结点访问逻辑应用,但不能访问虚拟网络。
    关闭 逻辑应用没有公共终结点,但有一个用于在 Azure 虚拟网络内进行通信的专用终结点,并且被隔离在该虚拟网络内。 专用终结点可以与虚拟网络中的终结点通信,但只能从该网络内的客户端通信。 此配置还意味着逻辑应用流量可由网络安全组治理或受虚拟网络路由影响。

    以下设置可控制标准逻辑应用对虚拟网络中终结点的访问:

    启用网络注入 行为
    逻辑应用工作流可以以私密方式安全地与虚拟网络中的终结点通信。

    若要让逻辑应用能够与高级集成帐户上的专用终结点进行通信,请选择此选项,这也会使“虚拟网络”部分可用。 对于“虚拟网络”,选择要使用的 Azure 虚拟网络。 此选项可使“入站访问”和“出站访问”部分变得可用
    关闭 逻辑应用工作流无法与虚拟网络中的终结点通信。

    当“启用网络注入”设置为“开启”时,选择虚拟网络后,将显示以下部分

    入站访问

    • 启用专用终结点:适用于标准逻辑应用上的专用终结点,仅在“启用公共访问”设置为“关闭”时可用

    出站访问

    • 启用 VNet 集成:若要让标准逻辑应用能够与高级集成帐户上的专用终结点进行通信,请选择“开启”并选择要使用的子网
  9. 如果创建和部署设置支持使用 Application Insights,可以通过以下步骤选择为逻辑应用工作流启用诊断日志记录和跟踪:

    1. 在“监视”选项卡上的“Application Insights”下,将“启用 Application Insights”设置为“是”。

    2. 对于“Application Insights”设置,请选择一个现有 Application Insights 实例,如果要创建新的实例,请选择“新建”并提供要使用的名称。

  10. 在 Azure 验证你的逻辑应用设置后,在“查看 + 创建”选项卡上选择“创建”,例如:

    屏幕截图显示了 Azure 门户和新的逻辑应用资源设置。

    注意

    如果在此步骤中收到验证错误,请打开并查看错误详细信息。 例如,如果所选区域达到了你要尝试创建的资源的配额,则你可能必须尝试另一个区域。

    Azure 完成部署后,你的逻辑应用资源将自动处于活动状态,但不会执行任何操作,因为资源为空,并且尚未添加任何工作流。

  11. 在部署完成页上,选择“转到资源”,以便可以添加空白工作流。

    显示 Azure 门户和完成的部署的屏幕截图。

添加空白工作流

创建空逻辑应用资源后,必须添加第一个工作流。

  1. 在 Azure 打开资源后,在逻辑应用资源菜单的“工作流”下,选择“工作流”。 在“工作流”工具栏上,选择“添加”。

    屏幕截图显示选择了“工作流”的逻辑应用菜单。工具栏显示选定的“添加”选项。

  2. 在“新建工作流”窗格打开后,为工作流提供一个名称,并选择“有状态”或“无状态”工作流类型。 完成后,选择“创建”

    此示例添加了名为 Stateful-Workflow 的空白有状态工作流。 默认情况下,工作流处于启用状态,但在你添加触发器和操作之前,它不会执行任何操作。

    显示名为 Stateful-Workflow 的新空白有状态工作流的屏幕截图。

  3. 从工作流列表中,选择该空白有状态工作流。

  4. 在工作流菜单上的“开发人员”下,选择“设计器” 。

    设计器界面显示了选择触发操作的提示。 默认情况下,提示已选择,以便具有可用触发器的窗格已显示打开。

现在,添加用于启动工作流的触发器。

添加触发器

此示例工作流从名为“收到 HTTP 请求时”的内置请求触发器开始。 此触发器会创建一个终结点,其他服务或逻辑应用工作流可以调用该终结点,并等待这些入站调用或请求到达。 内置操作以本机方式运行,直接在 Azure 逻辑应用运行时中运行。

  1. 在工作流设计器中,确保空白工作流处于打开状态,并且在设计器界面上选中了“添加触发器”提示。

  2. 使用“请求”作为搜索词,按照以下步骤将名为“收到 HTTP 请求时”的内置请求触发器添加到工作流

    当触发器出现在设计器上时,触发器的信息窗格会打开,显示触发器的属性、设置和其他操作。

    显示工作流设计器和触发器信息窗格的屏幕截图。

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

    首次保存工作流时,如果工作流是通过请求触发器启动的,则 Azure 逻辑应用会自动为请求触发器创建的终结点生成 URL。 稍后,在你测试工作流时,将向此 URL 发送请求,这会激发触发器并启动工作流运行。

添加操作

此示例工作流继续使用名为“发送电子邮件”的 Office 365 Outlook 托管连接器操作。 托管连接器操作在 Azure 中运行,而不是在本机运行,它直接在 Azure 逻辑应用运行时上运行。

  1. 在设计器上已添加的触发器下,选择加号 (+) >“添加操作”。

    此时会打开“添加操作”窗格,供你选择下一个操作。

  2. 通过使用 office 发送电子邮件作为搜索词,按照以下步骤将名为“发送电子邮件 (V2)”的 Office 365 Outlook 操作添加到工作流。

  3. 在操作的信息窗格的“创建连接”选项卡上,选择“登录”,以便可以创建与电子邮件帐户的连接。

    屏幕截图显示了设计器、名为“发送电子邮件 (V2)”的窗格,其中包含“登录”按钮。

  4. 当系统提示你访问电子邮件帐户时,请使用你的帐户凭据登录。

    注意

    如果收到错误消息 “失败,出现错误:‘浏览器已关闭。’。请重新登录”,请检查浏览器是否阻止第三方 Cookie。 如果这些 cookie 被阻止,请尝试将 https://portal.azure.cn 添加到可以使用 cookie 的站点列表。 如果使用的是 incognito 模式,请确保在该模式下工作时不会阻止第三方 cookie。

    如有必要,请重新加载页面,打开你的工作流,再次添加电子邮件操作,然后尝试创建连接。

    在 Azure 创建连接后,“发送电子邮件”操作将显示在设计器上,并且默认情况下处于选中状态。 如果未选择该操作,请选择,以便其信息窗格也打开。

  5. 在操作信息窗格的“参数”选项卡上,提供操作所需的信息,例如:

    屏幕截图显示了设计器和“发送电子邮件”信息窗格,其中“参数”选项卡处于选中状态。

    属性 需要 说明
    To <your-email-address> 电子邮件收件人,这可以是你自己的电子邮件地址(用于测试)。 此示例使用虚构的电子邮件 sophiaowen@fabrikam.com
    主题 来自示例工作流的电子邮件 电子邮件主题
    正文 来自示例工作流的 Hello! 电子邮件正文内容

    注意

    在信息窗格的“设置”、“静态结果”或“随后运行”选项卡上进行任何更改时,请确保在切换选项卡或将焦点更改为设计器之前选择“完成”以提交这些更改。 否则,设计器不会保留所做的更改。

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

  7. 如果你的环境具有限制流量的严格网络要求或防火墙,则必须为工作流中存在的任何触发器或操作连接设置权限。 若要查找完全限定的域名,请查看查找用于防火墙访问的域名

    否则,若要测试工作流,请手动触发运行

从设计器中删除项

若要从设计器中删除工作流中的某个项,请执行以下任一步骤:

  • 选择该项,打开该项的快捷菜单 (Shift + F10),然后选择“删除”。 若要确认,请选择“确定”。

  • 选择该项,然后按 Delete 键。 若要确认,请选择“确定”。

  • 选择该项,以便为其打开信息窗格。 在窗格的右上角,打开省略号 ( ... ) 菜单,然后选择“删除”。 若要确认,请选择“确定”。

    屏幕截图显示了设计器上的所选项,信息窗格处于打开状态,且省略号按钮和“删除”命令处于选中状态。

    提示

    如果省略号菜单不可见,请充分扩展浏览器窗口,以便使信息窗格在右上角显示省略号(...)按钮。

查找用于防火墙访问的域名

在 Azure 门户中部署逻辑应用并运行工作流之前,如果你的环境具有限制流量的严格网络要求或防火墙,则必须为逻辑应用中存在的工作流中的任何触发器或操作连接设置网络或防火墙权限。

若要查找逻辑应用和工作流所使用的入站和出站 IP 地址,请执行以下步骤:

  1. 在逻辑应用菜单的“设置”下,选择“网络” 。

  2. 在“网络”页上,查找并查看“入站流量”和“出站流量”部分 。

若要查找用于连接的完全限定的域名 (FQDN),请执行以下步骤:

  1. 在逻辑应用菜单上的“工作流”下,选择“连接”。 在“API 连接”选项卡上,选择连接的资源名称,例如:

    屏幕截图显示了 Azure 门户和逻辑应用菜单,其中的“连接”和“offic365”连接资源名称处于选中状态。

  2. 充分扩展浏览器的宽度,以便在浏览器的右上角出现“JSON 视图”时,选择“JSON 视图”。

    屏幕截图显示了 Azure 门户和“API 连接”窗格,其中的“JSON 视图”处于选中状态。

  3. 复制 connectionRuntimeUrl 属性值并将其保存到安全位置,以便可以使用此信息设置防火墙。

    显示名为 connectionRuntimeUrl 的选定属性值的屏幕截图。

  4. 对于每个连接,重复相关步骤。

触发工作流

在此示例中,工作流在请求触发器收到入站请求时运行,该请求将发送到触发器所创建的终结点的 URL。 首次保存工作流时,Azure 逻辑应用自动生成了此 URL。 因此,你需要找到此 URL,然后才能发送此请求来触发工作流。

  1. 在工作流设计器上,选择名为“当收到 HTTP 请求时”的请求触发器

  2. 在信息窗格打开后,在“参数”选项卡上找到“HTTP POST URL”属性。 若要复制生成的 URL,请选择“复制 URL”(“复制文件”图标),并暂时将 URL 保存到其他位置。 此 URL 遵循以下格式:

    https://<*logic-app-name*>.chinacloudsites.cn:443/api/<*workflow-name*>/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*shared-access-signature*>

    屏幕截图显示了包含请求触发器的设计器,以及“HTTP POST URL”属性中的终结点 URL。

    对于此示例,URL 如下所示:

    https://fabrikam-workflows.chinacloudsites.cn:443/api/Fabrikam-Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxxXXXXxxxxxXXXXxxxXXXXxxxxXXXX

    提示

    还可以在逻辑应用的“概述”页中的“工作流 URL”属性中找到终结点 URL。

    1. 在资源菜单中,选择“概述”。
    2. 在“概述”窗格中,找到“工作流 URL”属性。
    3. 若要复制终结点 URL,请将指针移到“终结点 URL”文本的末尾,然后选择“复制到剪贴板”(“复制文件”图标)。
  3. 若要测试终结点 URL 并触发工作流,请使用 HTTP 请求工具及其说明将 HTTP 请求发送到 URL,包括“请求”触发器所需的方法

    此示例使用 GET 方法与复制的 URL 配合使用,如以下示例所示

    GET https://fabrikam-workflows.chinacloudsites.cn:443/api/Fabrikam-Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxxXXXXxxxxxXXXXxxxXXXXxxxxXXXX

    当触发了触发器时,示例工作流将运行,并发送类似于以下示例的电子邮件:

    屏幕截图显示了示例中所述的 Outlook 电子邮件

查看工作流运行历史记录

有状态工作流运行完成后,你可以查看工作流的运行历史记录,包括整个运行的状态、触发器的状态,以及每个操作的状态及其输入和输出。 在 Azure 门户中,工作流运行历史记录和触发器历史记录显示在工作流级别,而非逻辑应用资源级别。 有关详细信息,请参阅查看工作流运行历史记录查看触发器历史记录

对于此示例工作流,工作流运行历史记录类似于以下示例:

屏幕截图显示了运行详细信息视图,其中包含工作流中每个步骤的状态。

屏幕截图显示了名为“发送电子邮件”的选定操作中的输入和输出。

查看触发器历史记录

对于有状态工作流,你可以独立于工作流运行历史记录查看每个运行的触发器历史记录,包括触发器状态以及输入和输出。 在 Azure 门户中,触发器历史记录和运行历史记录显示在工作流级别,而非逻辑应用级别。 有关详细信息,请参阅查看触发器历史记录

使用相同的输入重新提交工作流运行

对于现有有状态工作流运行,可以使用以前用于该运行的相同输入重新运行整个工作流。 有关详细信息,请参阅使用相同的输入重新运行工作流

设置对存储帐户的托管标识访问权限

默认情况下,标准逻辑应用使用连接字符串对 Azure 存储帐户的访问权限进行验证。 但是,你可以改为设置用户分配的托管标识来验证访问权限。

  1. Azure 门户中,按照这些步骤创建用户分配的托管标识

  2. 从用户分配的标识中获取资源 ID:

    1. 在用户分配的托管标识菜单上的“设置”下,选择“属性”

    2. 从“Id”属性复制并保存资源 ID。

  3. 从存储帐户中获取 BLOB 服务、队列服务和表服务的 URI:

    1. 在存储帐户菜单上的“设置”下,选择“终结点”。

    2. 复制并保存 BLOB 服务、队列服务和表服务的 URI。

  4. 在存储帐户上,为用户分配的标识添加必要的角色分配:

    1. 在存储帐户菜单上,选择“访问控制(IAM)”

    2. 在“访问控制(IAM)”页面工具栏上,从“添加”菜单中选择“添加角色分配”

    3. 在“工作职能角色”选项卡上,将以下每个角色添加到用户分配的标识:

      • 存储帐户参与者
      • 存储 Blob 数据所有者
      • 存储队列数据参与者
      • 存储表数据参与者

    有关详细信息,请参阅使用 Azure 门户分配 Azure 角色了解角色分配

  5. 按照这些步骤将用户分配的托管标识添加到标准逻辑应用资源

  6. 在标准逻辑应用中,启用运行时缩放监视:

    1. 在逻辑应用菜单上的“设置”下,选择“配置” 。

    2. 在“工作流运行时设置”选项卡上,对于“运行时缩放监视”,请选择“启用”

    3. 在“配置”工具栏上,选择“保存”

  7. 在标准逻辑应用中,设置资源 ID 和服务 URI:

    1. 在逻辑应用菜单中,选择“概述” 。

    2. 在“概述”窗格工具栏上,选择“停止” 。

    3. 在逻辑应用菜单中,在“设置”下选择“环境变量”

    4. 在“应用设置”选项卡上,选择“添加”以添加以下应用设置和值:

      应用设置
      AzureWebJobsStorage__managedIdentityResourceId 用户分配的托管标识的资源 ID
      AzureWebJobsStorage__blobServiceUri 存储帐户的 BLOB 服务 URI
      AzureWebJobsStorage__queueServiceUri 存储帐户的队列服务 URI
      AzureWebJobsStorage__tableServiceUri 存储帐户的表服务 URI
      AzureWebJobsStorage__credential managedIdentity
    5. 在“应用设置”选项卡上,删除名为“AzureWebJobsStorage”的应用设置,该设置设置为与存储帐户关联的连接字符串。

    6. 完成后选择“应用”,这将保存更改并重启逻辑应用。

      更改可能需要一些时间才能生效。 如有必要,请在逻辑应用菜单上选择“概述”,并在工具栏上选择“刷新”

      可能会显示以下消息,但该消息不是错误,不会影响逻辑应用:

      “AzureWebjobsStorage”应用设置不存在。

为无状态工作流启用运行历史记录

若要更轻松地调试某个无状态工作流,可以为该工作流启用运行历史记录,并在完成后禁用运行历史记录。 对于 Azure 门户,请按照下面的步骤操作;如果使用的是 Visual Studio Code,请参阅在 Visual Studio Code 中创建有状态和无状态工作流

  1. Azure 门户中,打开你的标准逻辑应用资源。

  2. 在逻辑应用菜单上的“设置”下,选择“配置” 。

  3. 在“应用程序设置”选项卡上,选择“新建应用程序设置” 。

  4. 在“添加/编辑应用程序设置”窗格上的“名称”框中,输入此操作选项名称:

    Workflows.{yourWorkflowName}.OperationOptions

  5. 在“”框中,输入以下值:WithStatelessRunHistory

    屏幕截图显示了标准逻辑应用和名为“添加/编辑应用程序设置”的窗格,其中 Workflows.{yourWorkflowName}.OperationOptions 设置为 WithStatelessRunHistory。

  6. 若要完成此任务,请选择“确定”。 在“配置”窗格工具栏上,选择“保存”。

  7. 要在完成时禁用运行历史记录,请将名为 .{your-workflow-name}.OperationOptions 的属性设置为 ,或者删除该属性及其值。

在部署后启用或打开 Application Insights

在工作流运行过程中,你的逻辑应用会发出遥测数据以及其他事件。 使用此遥测数据可以更好地了解工作流的运行情况以及逻辑应用运行时如何以各种方式工作。 你可以使用 Application Insights 来监视工作流,该工具可提供近乎实时的遥测数据(实时指标)。 使用该数据来诊断问题、设置警报和构建图表时,此功能可帮助你更轻松地调查失败和性能问题。

如果逻辑应用的创建和部署设置支持使用 Application Insights,则可以选择为逻辑应用工作流启用诊断日志记录和跟踪。 你可以在从 Microsoft Azure 门户中创建逻辑应用时或在部署后执行此操作。 你需要有一个 Application Insights 实例,但你可以在创建逻辑应用时提前创建此资源,或在部署后创建此资源。 还可以选择在 Application Insights 中为标准工作流启用增强型遥测

在已部署的逻辑应用上启用 Application Insights

  1. 在 Azure 门户中,找到你的已部署逻辑应用。

  2. 在逻辑应用菜单上,在“设置”下,选择“Application Insights” 。

  3. Application Insights 窗格中,选择“启用 Application Insights”。

  4. 在窗格更新后,选择底部的“应用”>“是” 。

  5. Application Insights 窗格中,选择“查看 Application Insights 数据”。

    Application Insights 仪表板打开后,可以查看逻辑应用工作流的指标或日志。 例如,若要绘制数据图表或查询数据,请在 Application Insights 资源菜单上的“监视”下,选择“指标”或“日志”。

打开 Application Insights

  1. 在 Azure 门户中,找到你的已部署逻辑应用。

  2. 在逻辑应用菜单上,在“设置”下,选择“Application Insights” 。

  3. Application Insights 窗格中,选择“查看 Application Insights 数据”。

    Application Insights 仪表板打开后,可以查看逻辑应用工作流的指标或日志。 例如,若要绘制数据图表或查询数据,请在 Application Insights 资源菜单上的“监视”下,选择“指标”或“日志”。

查看连接

在工作流中使用 Azure 管理的连接器基于服务提供商的内置连接器创建连接时,这些连接实际上是独立的 Azure 资源,有自己的资源定义。

停止或启动逻辑应用资源

按照“禁用或启用逻辑应用”中的步骤操作。

解决问题和错误

对于以前创建的工作流,设计器选取器中缺少新的触发器和操作

单租户 Azure 逻辑应用支持将内置操作用于 Azure 函数操作、Liquid 操作和 XML 操作(例如 XML 验证和转换 XML) 。 但是,对于之前创建的逻辑应用,如果逻辑应用使用过时版本的扩展捆绑包 Microsoft.Azure.Functions.ExtensionBundle.Workflows,这些操作可能不会出现在设计器中供你选择。

若要解决此问题,请按照以下步骤删除过时的版本,以便扩展捆绑包可以自动更新到最新版本。

注意

此特定解决方案仅适用于使用 Azure 门户创建的标准逻辑应用资源,不适用于使用 Visual Studio Code 和 Azure 逻辑应用(标准版)扩展创建并部署的逻辑应用。 请参阅 Visual Studio Code 中的设计器缺少受支持的触发器和操作

  1. 在 Azure 门户中,停止你的逻辑应用。

    1. 在逻辑应用菜单中,选择“概述”。

    2. 在“概述”窗格的工具栏上,选择“停止”。

  2. 在逻辑应用菜单上的“开发工具”下,选择“高级工具”。

  3. 在“高级工具”窗格上,选择“转到”,这将为你的逻辑应用打开 Kudu 环境。

  4. 在 Kudu 工具栏上,打开“调试控制台”菜单,并选择“CMD”。

    此时将打开一个控制台窗口,以便你可以使用命令提示符浏览到捆绑包文件夹。 另外,你可以浏览控制台窗口上方显示的目录结构。

  5. 浏览到以下文件夹,其中包含现有捆绑包的带版本号的文件夹:

    ...\home\data\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows

  6. 删除现有捆绑包的版本文件夹。 在控制台窗口中,可以运行以下命令,将 {bundle-version} 替换为现有版本:

    rm -rf {bundle-version}

    例如:rm -rf 1.1.3

    提示

    如果收到 “权限被拒”“文件正在使用” 之类的错误,请在浏览器中刷新页面,并重新尝试之前的步骤,直到该文件夹删除。

  7. 在 Azure 门户中,返回到逻辑应用及其“概述”页,然后选择“重启”

    门户将自动获取并使用最新的捆绑包。

后续步骤