快速入门:在 Azure 逻辑应用中通过 Azure CLI 创建和管理工作流

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

本快速入门介绍如何使用 Azure CLI 逻辑应用扩展 (az logic) 创建和管理在 Azure 逻辑应用中运行的自动化工作流。 在命令行中,可以使用逻辑应用工作流定义 JSON 文件在多租户 Azure 逻辑应用中创建消耗型逻辑应用。 然后,可以通过从命令行运行 listshow (get)、updatedelete 等操作来管理逻辑应用。

警告

Azure CLI 逻辑应用扩展当前是试验性的,未涵盖在客户支持中 。 请谨慎使用此 CLI 扩展,尤其是在生产环境中选择使用扩展时。

本快速入门目前仅适用于在多租户 Azure 逻辑应用中运行的消耗型逻辑应用工作流。 Azure CLI 目前不适用于在单租户 Azure 逻辑应用中运行的标准逻辑应用工作流。 有关详细信息,请查看 Azure 逻辑应用的资源类型和主机差异

如果你不熟悉 Azure 逻辑应用,还可以了解如何通过 Microsoft Azure 门户以及如何在 Visual Studio 中在 Visual Studio Code 中创建第一个消耗逻辑应用。

先决条件

先决条件检查

开始之前验证环境:

示例 - 创建资源组

如果还没有用于逻辑应用的资源组,请使用命令 az group create 创建该组。 例如,以下命令在位置 chinanorth 创建名为 testResourceGroup 的资源组。

az group create --name testResourceGroup --location chinanorth

已成功创建资源组时,输出会将 provisioningState 显示为 Succeeded

<...>
  "name": "testResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
<...>

工作流定义

使用 Azure CLI 创建新逻辑应用更新现有逻辑应用之前,需要逻辑应用的工作流定义。 在 Azure 门户中,可以通过从“设计器”视图切换到“代码”视图,以 JSON 格式查看逻辑应用的基础工作流定义。

运行命令以创建或更新逻辑应用时,工作流定义会作为必需参数 (--definition) 进行上传。 必须将工作流定义创建为遵循工作流定义语言架构的 JSON 文件。

从 CLI 创建逻辑应用

可以使用命令 az logic workflow create 以及定义的 JSON 文件,从 Azure CLI 创建逻辑应用工作流。

az logic workflow create --definition
                         --location
                         --name
                         --resource-group
                         [--access-control]
                         [--endpoints-configuration]
                         [--integration-account]
                         [--state {Completed, Deleted, Disabled, Enabled, NotSpecified, Suspended}]
                         [--tags]

命令必须包含以下必需参数

参数 价值 说明
工作流定义 --definition JSON 文件,包含逻辑应用的工作流定义
位置 --location -l 逻辑应用所在的 Azure 区域。
名称 --name -n 逻辑应用的名称。 名称只能包含字母、数字、连字符 (-)、下划线 (_)、括号 (()) 和句点 (.)。 该名称还必须在区域间唯一。
资源组名称 --resource-group -g 要在其中创建逻辑应用的 Azure 资源组。 如果还没有用于逻辑应用的资源组,请在开始之前创建一个资源组

还可以包含其他可选参数以配置逻辑应用的访问控制、终结点、集成帐户、状态和资源标记。

示例 - 创建逻辑应用

在此示例中,在位置 chinanorth 的资源组 testResourceGroup 中创建了名为 testLogicApp 的工作流。 JSON 文件 testDefinition.json 包含工作流定义。

az logic workflow create --resource-group "testResourceGroup" --location "chinanorth" --name "testLogicApp" --definition "testDefinition.json"

成功创建工作流后,CLI 会显示新工作流定义的 JSON 代码。 如果工作流创建失败,请参阅可能错误的列表

从 CLI 更新逻辑应用

还可以使用命令 az logic workflow create,从 Azure CLI 更新逻辑应用工作流。

命令必须包含与创建逻辑应用时相同的必需参数。 还可以添加与创建逻辑应用时相同的可选参数

az logic workflow create --definition
                         --location
                         --name
                         --resource-group
                         [--access-control]
                         [--endpoints-configuration]
                         [--integration-account]
                         [--integration-service-environment]
                         [--state {Completed, Deleted, Disabled, Enabled, NotSpecified, Suspended}]
                         [--tags]

示例 - 更新逻辑应用

在此示例中,会更新在上一节中创建的示例工作流,以使用不同的 JSON 定义文件 newTestDefinition.json,并添加两个具有说明值的资源标记 testTag1testTag2

az logic workflow create --resource-group "testResourceGroup" --location "chinanorth" --name "testLogicApp" --definition "newTestDefinition.json" --tags "testTag1=testTagValue1" "testTag2=testTagValue"

成功更新工作流后,CLI 会显示逻辑应用更新后的工作流定义。 如果更新失败,请参阅可能错误的列表

从 CLI 删除逻辑应用

还可以使用命令 az logic workflow delete,从 Azure CLI 删除逻辑应用工作流。

命令必须包含以下必需参数

参数 价值 描述
名称 --name -n 逻辑应用的名称。
资源组名称 -resource-group -g 逻辑应用所在的资源组。

还可以包含一个可选参数以跳过确认提示 --yes -y

az logic workflow delete --name
                         --resource-group
                         [--yes]

CLI 随后会提示确认删除逻辑应用。 可以通过将可选参数 --yes -y 与命令一起使用来跳过确认提示。

Are you sure you want to perform this operation? (y/n):

可以通过在 CLI 中列出逻辑应用,或者通过在 Microsoft Azure 门户中查看逻辑应用,来确认逻辑应用的删除。

示例 - 删除逻辑应用

在此示例中,会删除在上一节中创建的示例工作流

az logic workflow delete --resource-group "testResourceGroup" --name "testLogicApp"

在使用 y 响应确认提示之后,会删除逻辑应用。

注意事项 - 删除逻辑应用

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

  • Azure 逻辑应用会尽力取消任何正在进行的和挂起的运行。

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

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

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

在 CLI 中显示逻辑应用

可以使用命令 az logic workflow show 获取特定逻辑应用工作流。

az logic workflow show --name
                       --resource-group

命令必须包含以下必需参数

参数 价值 描述
名称 --name -n 逻辑应用的名称。
资源组名称 --resource-group -g 逻辑应用所在的资源组的名称。

示例 - 获取逻辑应用

在此示例中,会返回资源组 testResourceGroup 中的逻辑应用 testLogicApp 以及用于调试的完整日志。

az logic workflow show --resource-group "testResourceGroup" --name "testLogicApp" --debug

在 CLI 中列出逻辑应用

可以使用命令 az logic workflow list 按订阅列出逻辑应用。 此命令返回逻辑应用工作流的 JSON 代码。

可以按以下可选参数来筛选结果:

参数 价值 说明
资源组名称 --resource-group -g 要用于筛选结果的资源组的名称。
项数 --top 结果中包含的项数。
筛选器 --filter 要对列表使用的筛选器的类型。 可以按状态 (State)、触发器 (Trigger) 以及所引用资源的标识符 (ReferencedResourceId) 进行筛选。
az logic workflow list [--filter]
                       [--resource-group]
                       [--top]

示例 - 列出逻辑应用

在此示例中,资源组 testResourceGroup 中所有启用的工作流都会以 ASCII 表格式返回。

az logic workflow list --resource-group "testResourceGroup" --filter "(State eq 'Enabled')" --output "table"

错误

以下错误指示未安装 Azure 逻辑应用 CLI 扩展。 按照先决条件中的步骤在计算机上安装 Azure 逻辑应用扩展

az: 'logic' is not in the 'az' command group. See 'az --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit https://learn.microsoft.com/cli/azure/azure-cli-extensions-overview

以下错误可能指示用于上传工作流定义的文件路径不正确。

Expecting value: line 1 column 1 (char 0)

全局参数

可以将以下可选全局 Azure CLI 参数与 az logic 命令一起使用:

参数 价值 说明
输出格式 --output -o 从默认 JSON 更改输出格式
仅显示错误 --only-show-errors 取消显示警告,仅显示错误。
“详细” --verbose 显示详细日志。
调试 --debug 显示所有调试日志。
帮助消息 --help -h 显示帮助对话框。
查询 --query 为 JSON 输出设置 JMESPath 查询字符串。

后续步骤

有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档

可以在 Microsoft 代码示例浏览器中找到其他 Azure 逻辑应用 CLI 脚本示例。

接下来,可以使用示例脚本和工作流定义通过 Azure CLI 创建示例应用逻辑。