通过


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

快速入门:使用 Visual Studio Code 在多租户 Azure 逻辑应用中创建消耗工作流

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

作为集成开发人员,通常需要跨 SaaS 应用、企业系统和数据源自动执行业务流程,而无需管理基础结构。 你还需要一种代码优先的方式来生成工作流,以便你可以有效地版本定义、进行更新和查看更改。

本快速入门介绍如何使用 Visual Studio Code 中的本地代码优先工具在多租户 Azure 逻辑应用中创建和管理消耗工作流。 消耗工作流为事件驱动工作流和计划工作流提供无服务器集成模型,因此你可以连接服务和自动化进程,同时仅为运行的操作付费。

在 Visual Studio Code 中,可以使用代码编辑器在 JavaScript 对象表示法(JSON)中编辑工作流定义,根据需要使用可视化设计器,并在 Azure 中管理已部署的工作流。 还可以从 Visual Studio Code 运行的任何开发平台(例如 Linux、Windows 和 macOS)处理工作流和集成帐户。

以下屏幕截图显示了消耗工作流定义示例的外观:

显示 Visual Studio Code 中的消耗逻辑应用工作流定义示例的屏幕截图。

有关详细信息,请参见:

先决条件

从 Visual Studio Code 访问 Azure

  1. 在 Visual Studio Code 中, 登录到 Azure 帐户

    如果登录花的时间比平时长,Visual Studio Code 会为你提供设备代码,提示你通过 Microsoft 身份验证网站登录。 若要改用代码登录,请执行以下步骤:

    1. 选择 “使用设备代码”,然后选择“ 复制并打开”。

    2. 选择 “打开链接 ”以打开新的浏览器窗口,并继续访问身份验证网站。

    3. 在“登录到你的帐户”页上,输入验证码,然后选择“下一步” 。

  2. 在“活动”栏上,选择 Azure 图标。

    显示 Visual Studio Code、活动栏和所选 Azure 图标的屏幕截图。

    在 Azure 窗格中, 逻辑应用(消耗)集成帐户 部分现在显示与帐户关联的 Azure 订阅。 如果未看到所需的订阅,或者这些部分显示过多的订阅,请执行以下步骤:

    1. “逻辑应用(消耗)” 部分中, 选择“选择订阅”。

      此屏幕截图显示 Azure 窗格、“逻辑应用消耗”部分和为筛选 Azure 订阅而选择的“选择订阅”。

    2. 从订阅列表中,选择要使用的订阅。

  3. 逻辑应用(消耗)部分,展开订阅以查看该订阅中部署的任何逻辑应用。

    此屏幕截图显示展开的 Azure 订阅及其关联的逻辑应用。

创建逻辑应用

  1. 在 Visual Studio Code 的 逻辑应用(消耗) 部分的订阅快捷菜单中,选择“ 创建逻辑应用”。

    显示订阅快捷菜单和“创建逻辑应用”的屏幕截图。

    将出现一个列表,显示订阅中的所有 Azure 资源组。

  2. 在资源组列表中,选择“ 创建新资源组 ”或“现有资源组”。

    对于此示例,请选择“ 创建新资源组”,例如:

    显示资源组列表的屏幕截图,其中选择了“创建新资源组”。

  3. 输入 Azure 资源组的名称。

    显示输入的新 Azure 资源组名称的屏幕截图。

  4. 选择要在其中保存逻辑应用元数据的 Azure 区域。

    显示所选 Azure 区域的屏幕截图。

  5. 输入逻辑应用的名称。

    有关逻辑应用中输入名称的屏幕截图。

    在 Azure 窗口中,你的 Azure 订阅下将显示新的逻辑应用和空工作流。 Visual Studio Code 还打开 JSON(.logicapp.json)文件,其中包括主干工作流定义,例如:

    显示 JSON 文件中空逻辑应用工作流定义的框架的屏幕截图。

    现在可以开始在此 JSON 文件中手动创作工作流定义。 有关工作流定义的结构和语法的技术参考,请参阅 Azure 逻辑应用的工作流定义语言架构

    以下示例逻辑应用工作流定义以 RSS 触发器和 Office 365 Outlook 操作开头。 通常情况下,JSON 元素在每个部分按字母顺序显示。 但是,此示例大致按工作流操作在设计器中显示的顺序显示这些元素。

    {
       "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
       "contentVersion": "1.0.0.0",
       "parameters": {
          "$connections": {
             "defaultValue": {},
             "type": "Object"
          }
       },
       "triggers": {
          "When_a_feed_item_is_published": {
             "recurrence": {
                "frequency": "Minute",
                "interval": 30
             },
             "splitOn": "@triggerBody()?['value']",
             "type": "ApiConnection",
             "inputs": {
                "host": {
                   "connection": {
                      "name": "@parameters('$connections')['rss']['connectionId']"
                   }
                },
                "method": "get",
                "path": "/OnNewFeed",
                "queries": {
                   "feedUrl": "@{encodeURIComponent('https://feeds.content.dowjones.io/public/rss/RSSMarketsMain')}",
                   "sinceProperty": "PublishDate"
                }
             }
          }
       },
       "actions": {
          "Send_an_email_(V2)": {
             "runAfter": {},
             "type": "ApiConnection",
             "inputs": {
                "body": {
                   "Body": "<p>Title: @{triggerBody()?['title']}<br>\n<br>\nDate published: @{triggerBody()?['updatedOn']}<br>\n<br>\nLink: @{triggerBody()?['primaryLink']}</p>",
                   "Subject": "RSS item: @{triggerBody()?['title']}",
                   "To": "sophia-owen@fabrikam.com"
                },
                "host": {
                   "connection": {
                      "name": "@parameters('$connections')['office365']['connectionId']"
                   }
                },
                "method": "post",
                "path": "/v2/Mail"
             }
          }
       },
       "outputs": {}
    }
    

    重要

    若要重复使用此示例工作流定义,您需要一个组织工作或学校帐户,例如@fabrikam.com。 请确保将虚拟电子邮件地址替换为你自己的电子邮件地址。

    若要使用不同的电子邮件连接器(如 Outlook.com 或 Gmail),请将该 Send_an_email_action 操作替换为 Azure 逻辑应用支持的电子邮件连接器中提供的类似操作。

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

  6. 完成后,保存工作流定义。 (文件)>保存 或按 Ctrl+S)。

  7. 当系统提示将逻辑应用工作流定义上传到 Azure 订阅时,请选择“ 上传”。

    此步骤将逻辑应用工作流定义从 Visual Studio Code 发布到 Azure 门户,使工作流在 Azure 中实时运行。

    显示一个对话框的屏幕截图,其中突出显示了用于将逻辑应用上传到 Azure 门户的“上传”按钮。

在设计器中查看工作流

在 Visual Studio Code 中,可以在只读设计视图中打开逻辑应用工作流。 虽然无法在设计器中编辑工作流定义,但可以使用设计器视图直观地检查工作流。

在 Azure 窗口中的 “逻辑应用(消耗)” 部分的逻辑应用快捷菜单中,选择 “在设计器中打开”。

只读设计器将在单独的选项卡中打开,并显示逻辑应用工作流,例如:

显示设计视图中逻辑应用的工作流的屏幕截图。

在 Azure 门户中查看工作流

若要在 Azure 门户中查看逻辑应用工作流定义,请执行以下步骤:

  1. Azure 门户中,使用与逻辑应用关联的同一 Azure 帐户和订阅登录。

  2. 在 Azure 门户搜索框中,输入逻辑应用名称。 从结果列表中选择逻辑应用。

    此屏幕截图显示 Azure 门户、搜索框以及输入的逻辑应用名称,并突出显示结果。

  3. 在逻辑应用边栏上的 “开发工具”下,在设计器或代码视图中打开工作流。

编辑已部署的逻辑应用

在 Visual Studio Code 中,可以打开和编辑 Azure 中已部署的逻辑应用资源的工作流定义。

重要

在生产中编辑主动运行的逻辑应用工作流之前,请先 禁用逻辑应用资源,尽量减少中断并避免中断工作流的风险。

  1. 在 Visual Studio Code 的活动栏上,选择 Azure 图标。

  2. 在 Azure 窗口中的 “逻辑应用(消耗)” 部分,展开 Azure 订阅,然后选择所需的逻辑应用。

  3. 在逻辑应用快捷菜单中,选择“ 在编辑器中打开”。 或者,在逻辑应用名称旁边,选择编辑图标。

    显示 Azure 窗口、“逻辑应用”快捷菜单,以及“在编辑器中打开”选项的屏幕截图。

    Visual Studio Code 将打开本地临时文件夹中 .logicapp.json 文件,以便查看工作流定义。

    显示 Visual Studio Code 和打开的逻辑应用工作流定义文件的屏幕截图。

  4. 在工作流定义文件中进行更改。

  5. 完成后,保存更改(文件>保存 或按 Ctrl+S)。

  6. 当系统提示上传更改并在 Azure 门户中 覆盖 现有逻辑应用工作流时,请选择“ 上传”。

    此步骤会把您的更新发布到 Azure 门户中的逻辑应用资源。

    显示 Visual Studio Code 对话框的屏幕截图,其中突出显示了“上传”按钮,用于将逻辑应用更改上传到 Azure 门户。

查看或推广其他版本

在 Visual Studio Code 中,可以打开并查看逻辑应用工作流的早期版本。 还可以将早期版本提升到当前版本。

重要

在对生产环境中正在运行的逻辑应用工作流进行更改之前,首先禁用逻辑应用资源,以尽量减少中断并避免破坏该逻辑应用的风险。

  1. 在 Azure 窗口中的 “逻辑应用(消耗)” 部分,展开 Azure 订阅以查看关联的逻辑应用。

  2. 在订阅下,展开逻辑应用,然后展开“版本”。

    “版本”列表显示逻辑应用的早期版本(如果有)。

    屏幕截图显示了 Visual Studio Code 和一个逻辑应用程序的早期版本。

  3. 若要查看早期版本,请选择以下步骤之一:

    • 若要查看 JSON 定义,请在“版本”下选择该定义的版本号。 或者,在版本快捷菜单中,选择 “在编辑器中打开”。

      将在本地计算机上打开一个新文件,并显示该版本的 JSON 定义。

    • 若要查看只读设计器中的版本,请从版本的快捷菜单中选择“ 在设计器中打开”。

  4. 若要将早期版本提升到当前版本,请执行以下步骤:

    1. “版本”下,从早期版本的快捷菜单中,选择“ 提升”。

      此屏幕截图显示 Visual Studio Code 以及如何将早期逻辑应用版本提升到当前版本。

    2. 若要在 Visual Studio 代码提示进行确认后继续,请选择“是”。

      Visual Studio Code 会将所选版本提升到当前版本,并为提升后的版本分配一个新编号。 原当前版本现在显示在提升后的版本之下。

禁用或启用逻辑应用

在 Visual Studio Code 中,如果编辑已发布的逻辑应用工作流并保存更改,则你会 覆盖 已部署的逻辑应用。 为了避免在生产环境中中断逻辑应用工作流并最大程度地减少中断,请先禁用逻辑应用资源。 确认工作流仍按预期工作后,可以重新激活逻辑应用资源。

禁用或启用逻辑应用资源会通过以下方式影响工作流实例:

  • Azure 逻辑应用会继续正在进行和挂起的工作流运行,直到完成为止。 根据工作量或积压任务,此过程可能需要一些时间才能完成。

  • Azure 逻辑应用不会创建或运行新的工作流实例。

  • 触发器不会在下一次满足其条件时触发。

  • 触发器状态会记住工作流停止的点。 因此,如果重新激活逻辑应用程序,触发器将启动运行,以处理自上次运行以来尚未处理的任何项。

    若要阻止触发器对这些未处理的项触发,请在重新激活逻辑应用资源之前清除触发器状态:

    1. 在工作流中,编辑触发器的任何部分。
    2. 保存所做更改。 此步骤会重置触发器的当前状态。
    3. 重新激活逻辑应用资源。
  • 禁用逻辑应用资源后,仍可以重新提交工作流运行。

若要在 Visual Studio Code 中禁用或启用逻辑应用资源,请执行以下步骤:

  1. 在 Visual Studio Code 中,打开 Azure 窗口。

  2. “逻辑应用(消耗)” 部分中,展开 Azure 订阅以查看关联的逻辑应用。

  3. 若要禁用逻辑应用资源,请在逻辑应用快捷菜单中选择“ 禁用”。

    此屏幕截图显示 Visual Studio Code 以及如何禁用逻辑应用资源。

  4. 准备好重新激活逻辑应用资源时,从逻辑应用快捷菜单中,选择“ 启用”。

    此屏幕截图显示 Visual Studio Code 以及如何启用逻辑应用资源。

删除逻辑应用

删除逻辑应用会以下列方式方式影响工作流实例:

  • Azure 逻辑应用会尝试取消任何正在进行的和挂起的工作流运行。

    即使使用较大的卷或积压工作 (backlog),大多数运行在完成或开始之前都将被取消。 但是,取消过程可能需要一些时间才能完成。 与此同时,在服务执行取消过程中,可能会选取某些运行来执行。

  • Azure 逻辑应用不会创建或运行新的工作流实例。

  • 如果删除工作流,然后重新创建相同的工作流,则重新创建的工作流具有不同的元数据。 需要重新保存任何调用已删除工作流的工作流。 重新保存时,调用方将获取重新创建的工作流的正确信息。 否则,对重新创建的工作流的调用将失败并显示 Unauthorized 错误。 此行为也适用于在集成帐户中使用项目的工作流和调用 Azure 函数的工作流。

若要从 Visual Studio Code 中删除逻辑应用资源,请执行以下步骤:

  1. 在 Visual Studio Code 中,打开 Azure 窗口。

  2. “逻辑应用(消耗)” 部分中,展开 Azure 订阅以查看关联的逻辑应用资源。 查找要删除的逻辑应用资源。

  3. 从逻辑应用快捷菜单中,选择“ 删除”。

    此屏幕截图显示 Visual Studio Code 以及如何删除逻辑应用资源。