Compartilhar via

快速入门:使用 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窗格中,Logic Apps (Consumption)Integration Accounts 部分现在显示与帐户关联的Azure订阅。 如果未看到所需的订阅,或者这些部分显示过多的订阅,请执行以下步骤:

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

      截图显示了 Azure 窗格、逻辑应用使用情况部分,并选择了“选择订阅”来筛选 Azure 订阅。

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

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

    截图,显示已扩展的 Azure 订阅及其关联的逻辑应用。

创建逻辑应用

  1. 在 Visual Studio Code 中,在 Logic Apps (Consumption) 部分中,从订阅快捷菜单中选择创建逻辑应用

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

    此时会显示一个列表,并显示订阅中的任何Azure资源组。

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

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

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

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

    该截图显示已输入的新Azure资源组名称。

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

    显示选定的Azure区域的截图。

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

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

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

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

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

    以下示例逻辑应用工作流定义以 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": {}
    }
    
  6. 完成后,保存工作流定义。 (文件)>保存 或按 Ctrl+S)。

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

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

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

在设计器中查看工作流

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

在 Azure 窗口中,在 Logic Apps (Consumption) 部分中,从逻辑应用快捷菜单中选择 Open in Designer

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

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

在 Azure 门户中查看工作流

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

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

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

    截图显示了Azure门户、搜索框,以及为逻辑应用程序输入的名称,结果被突出显示。

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

编辑已部署的逻辑应用

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

重要

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

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

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

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

    截图显示 Azure 窗口、逻辑应用快捷菜单,并选择“在编辑器中打开”。

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

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

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

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

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

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

    Screenshot,其中显示了一个Visual Studio Code对话框,其中突出显示了“上传”按钮,用于将逻辑应用更改上传到 Azure portal.

查看或推广其他版本

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

重要

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

  1. 在Azure窗口中,在 Logic Apps (Consumption) 部分中,展开Azure订阅以查看关联的逻辑应用。

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

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

    Screenshot,显示Visual Studio Code和逻辑应用的早期版本.

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

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

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

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

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

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

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

    2. 若要在Visual Studio Code提示确认后继续,请选择 Yes

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

禁用或启用逻辑应用

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

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

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

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

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

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

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

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

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

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

  2. Logic Apps(Consumption) 部分中,将 Azure 订阅展开以便于查看关联的逻辑应用。

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

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

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

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

删除逻辑应用

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

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

    即使有大量的任务数量或积压工作 (backlog),大多数运行任务在完成或开始之前都将被取消。 但是,取消过程可能需要一些时间才能完成。 同时,服务可能会在处理取消流程的同时拾取一些任务进行执行。

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

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

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

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

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

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

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