你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:Azure 逻辑应用(消耗)
作为集成开发人员,通常需要跨 SaaS 应用、企业系统和数据源自动执行业务流程,而无需管理基础结构。 你还需要一种代码优先的方式来生成工作流,以便你可以有效地版本定义、进行更新和查看更改。
本快速入门介绍如何使用 Visual Studio Code 中的本地代码优先工具在多租户 Azure 逻辑应用中创建和管理消耗工作流。 消耗工作流为事件驱动工作流和计划工作流提供无服务器集成模型,因此你可以连接服务和自动化进程,同时仅为运行的操作付费。
在 Visual Studio Code 中,可以使用代码编辑器在 JavaScript 对象表示法(JSON)中编辑工作流定义,根据需要使用可视化设计器,并在 Azure 中管理已部署的工作流。 还可以从 Visual Studio Code 运行的任何开发平台(例如 Linux、Windows 和 macOS)处理工作流和集成帐户。
以下屏幕截图显示了消耗工作流定义示例的外观:
有关详细信息,请参见:
先决条件
一个 Azure 帐户和订阅。 获取免费的 Azure 帐户。
基本了解 逻辑应用工作流定义 及其 JSON 格式的结构。
本文中的示例创建与本 快速入门 中相同的逻辑应用工作流,重点介绍基本概念。 还可以 了解如何通过 Azure CLI 创建和管理工作流。
访问 Web 以登录到 Azure 和 Azure 订阅。
如果还没有这些工具,请下载并安装以下工具:
适用于 Azure 逻辑应用的 Visual Studio Code 扩展(消耗)。
从 Visual Studio Marketplace 或直接从 Visual Studio Code 内部安装此扩展。
安装后重新加载 Visual Studio Code。
有关详细信息,请参阅扩展市场。 若要为此扩展的开源版本贡献内容,请访问 GitHub 上适用于 Visual Studio Code 的 Azure 逻辑应用扩展。
如果逻辑应用工作流需要通过防火墙进行通信来限制特定 IP 地址的流量,则防火墙必须允许访问 Azure 逻辑应用使用的入站和出站 IP 地址,或逻辑应用工作流所在的 Azure 区域中的运行时。
如果逻辑应用工作流还使用托管连接器(例如 Office 365 Outlook 连接器或 SQL 连接器),或者使用自定义连接器,则防火墙必须允许访问逻辑应用 Azure 区域中的所有托管连接器出站 IP 地址。
从 Visual Studio Code 访问 Azure
在 Visual Studio Code 中, 登录到 Azure 帐户。
如果登录花的时间比平时长,Visual Studio Code 会为你提供设备代码,提示你通过 Microsoft 身份验证网站登录。 若要改用代码登录,请执行以下步骤:
选择 “使用设备代码”,然后选择“ 复制并打开”。
选择 “打开链接 ”以打开新的浏览器窗口,并继续访问身份验证网站。
在“登录到你的帐户”页上,输入验证码,然后选择“下一步” 。
在“活动”栏上,选择 Azure 图标。
在 Azure 窗格中, 逻辑应用(消耗) 和 集成帐户 部分现在显示与帐户关联的 Azure 订阅。 如果未看到所需的订阅,或者这些部分显示过多的订阅,请执行以下步骤:
在 “逻辑应用(消耗)” 部分中, 选择“选择订阅”。
从订阅列表中,选择要使用的订阅。
在逻辑应用(消耗)部分,展开订阅以查看该订阅中部署的任何逻辑应用。
创建逻辑应用
在 Visual Studio Code 的 逻辑应用(消耗) 部分的订阅快捷菜单中,选择“ 创建逻辑应用”。
将出现一个列表,显示订阅中的所有 Azure 资源组。
在资源组列表中,选择“ 创建新资源组 ”或“现有资源组”。
对于此示例,请选择“ 创建新资源组”,例如:
输入 Azure 资源组的名称。
选择要在其中保存逻辑应用元数据的 Azure 区域。
输入逻辑应用的名称。
在 Azure 窗口中,你的 Azure 订阅下将显示新的逻辑应用和空工作流。 Visual Studio Code 还打开 JSON(.logicapp.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 连接器的数据安全和隐私策略。
完成后,保存工作流定义。 (文件)>保存 或按 Ctrl+S)。
当系统提示将逻辑应用工作流定义上传到 Azure 订阅时,请选择“ 上传”。
此步骤将逻辑应用工作流定义从 Visual Studio Code 发布到 Azure 门户,使工作流在 Azure 中实时运行。
在设计器中查看工作流
在 Visual Studio Code 中,可以在只读设计视图中打开逻辑应用工作流。 虽然无法在设计器中编辑工作流定义,但可以使用设计器视图直观地检查工作流。
在 Azure 窗口中的 “逻辑应用(消耗)” 部分的逻辑应用快捷菜单中,选择 “在设计器中打开”。
只读设计器将在单独的选项卡中打开,并显示逻辑应用工作流,例如:
在 Azure 门户中查看工作流
若要在 Azure 门户中查看逻辑应用工作流定义,请执行以下步骤:
在 Azure 门户中,使用与逻辑应用关联的同一 Azure 帐户和订阅登录。
在 Azure 门户搜索框中,输入逻辑应用名称。 从结果列表中选择逻辑应用。
在逻辑应用边栏上的 “开发工具”下,在设计器或代码视图中打开工作流。
编辑已部署的逻辑应用
在 Visual Studio Code 中,可以打开和编辑 Azure 中已部署的逻辑应用资源的工作流定义。
重要
在生产中编辑主动运行的逻辑应用工作流之前,请先 禁用逻辑应用资源,尽量减少中断并避免中断工作流的风险。
在 Visual Studio Code 的活动栏上,选择 Azure 图标。
在 Azure 窗口中的 “逻辑应用(消耗)” 部分,展开 Azure 订阅,然后选择所需的逻辑应用。
在逻辑应用快捷菜单中,选择“ 在编辑器中打开”。 或者,在逻辑应用名称旁边,选择编辑图标。
Visual Studio Code 将打开本地临时文件夹中 .logicapp.json 文件,以便查看工作流定义。
在工作流定义文件中进行更改。
完成后,保存更改(文件>保存 或按 Ctrl+S)。
当系统提示上传更改并在 Azure 门户中 覆盖 现有逻辑应用工作流时,请选择“ 上传”。
此步骤会把您的更新发布到 Azure 门户中的逻辑应用资源。
查看或推广其他版本
在 Visual Studio Code 中,可以打开并查看逻辑应用工作流的早期版本。 还可以将早期版本提升到当前版本。
重要
在对生产环境中正在运行的逻辑应用工作流进行更改之前,首先禁用逻辑应用资源,以尽量减少中断并避免破坏该逻辑应用的风险。
在 Azure 窗口中的 “逻辑应用(消耗)” 部分,展开 Azure 订阅以查看关联的逻辑应用。
在订阅下,展开逻辑应用,然后展开“版本”。
“版本”列表显示逻辑应用的早期版本(如果有)。
若要查看早期版本,请选择以下步骤之一:
若要查看 JSON 定义,请在“版本”下选择该定义的版本号。 或者,在版本快捷菜单中,选择 “在编辑器中打开”。
将在本地计算机上打开一个新文件,并显示该版本的 JSON 定义。
若要查看只读设计器中的版本,请从版本的快捷菜单中选择“ 在设计器中打开”。
若要将早期版本提升到当前版本,请执行以下步骤:
在 “版本”下,从早期版本的快捷菜单中,选择“ 提升”。
若要在 Visual Studio 代码提示进行确认后继续,请选择“是”。
Visual Studio Code 会将所选版本提升到当前版本,并为提升后的版本分配一个新编号。 原当前版本现在显示在提升后的版本之下。
禁用或启用逻辑应用
在 Visual Studio Code 中,如果编辑已发布的逻辑应用工作流并保存更改,则你会 覆盖 已部署的逻辑应用。 为了避免在生产环境中中断逻辑应用工作流并最大程度地减少中断,请先禁用逻辑应用资源。 确认工作流仍按预期工作后,可以重新激活逻辑应用资源。
禁用或启用逻辑应用资源会通过以下方式影响工作流实例:
Azure 逻辑应用会继续正在进行和挂起的工作流运行,直到完成为止。 根据工作量或积压任务,此过程可能需要一些时间才能完成。
Azure 逻辑应用不会创建或运行新的工作流实例。
触发器不会在下一次满足其条件时触发。
触发器状态会记住工作流停止的点。 因此,如果重新激活逻辑应用程序,触发器将启动运行,以处理自上次运行以来尚未处理的任何项。
若要阻止触发器对这些未处理的项触发,请在重新激活逻辑应用资源之前清除触发器状态:
- 在工作流中,编辑触发器的任何部分。
- 保存所做更改。 此步骤会重置触发器的当前状态。
- 重新激活逻辑应用资源。
禁用逻辑应用资源后,仍可以重新提交工作流运行。
若要在 Visual Studio Code 中禁用或启用逻辑应用资源,请执行以下步骤:
在 Visual Studio Code 中,打开 Azure 窗口。
在 “逻辑应用(消耗)” 部分中,展开 Azure 订阅以查看关联的逻辑应用。
若要禁用逻辑应用资源,请在逻辑应用快捷菜单中选择“ 禁用”。
准备好重新激活逻辑应用资源时,从逻辑应用快捷菜单中,选择“ 启用”。
删除逻辑应用
删除逻辑应用会以下列方式方式影响工作流实例:
Azure 逻辑应用会尝试取消任何正在进行的和挂起的工作流运行。
即使使用较大的卷或积压工作 (backlog),大多数运行在完成或开始之前都将被取消。 但是,取消过程可能需要一些时间才能完成。 与此同时,在服务执行取消过程中,可能会选取某些运行来执行。
Azure 逻辑应用不会创建或运行新的工作流实例。
如果删除工作流,然后重新创建相同的工作流,则重新创建的工作流具有不同的元数据。 需要重新保存任何调用已删除工作流的工作流。 重新保存时,调用方将获取重新创建的工作流的正确信息。 否则,对重新创建的工作流的调用将失败并显示
Unauthorized错误。 此行为也适用于在集成帐户中使用项目的工作流和调用 Azure 函数的工作流。
若要从 Visual Studio Code 中删除逻辑应用资源,请执行以下步骤:
在 Visual Studio Code 中,打开 Azure 窗口。
在 “逻辑应用(消耗)” 部分中,展开 Azure 订阅以查看关联的逻辑应用资源。 查找要删除的逻辑应用资源。
从逻辑应用快捷菜单中,选择“ 删除”。