快速入门:在 Azure 逻辑应用中通过 Azure CLI 创建和管理工作流
适用于:Azure 逻辑应用(消耗)
本快速入门介绍如何使用 Azure CLI 逻辑应用扩展 (az logic
) 创建和管理在 Azure 逻辑应用中运行的自动化工作流。 在命令行中,可以使用逻辑应用工作流定义 JSON 文件在多租户 Azure 逻辑应用中创建消耗型逻辑应用。 然后,可以通过从命令行运行 list
、show
(get
)、update
和 delete
等操作来管理逻辑应用。
警告
Azure CLI 逻辑应用扩展当前是试验性的,未涵盖在客户支持中 。 请谨慎使用此 CLI 扩展,尤其是在生产环境中选择使用扩展时。
本快速入门目前仅适用于在多租户 Azure 逻辑应用中运行的消耗型逻辑应用工作流。 Azure CLI 目前不适用于在单租户 Azure 逻辑应用中运行的标准逻辑应用工作流。 有关详细信息,请查看 Azure 逻辑应用的资源类型和主机差异。
如果你不熟悉 Azure 逻辑应用,还可以了解如何通过 Microsoft Azure 门户以及如何在 Visual Studio 中和在 Visual Studio Code 中创建第一个消耗逻辑应用。
先决条件
具有活动订阅的 Azure 帐户。 如果你没有 Azure 订阅,请创建一个试用版订阅。
在本地计算机上安装的 Azure CLI。
在计算机上安装的 Azure 逻辑应用 CLI 扩展。 若要安装此扩展,请使用此命令:
az extension add --name logic
要在其中创建逻辑应用的 Azure 资源组。
先决条件检查
开始之前验证环境:
登录 Azure 门户,并通过运行
az login
来检查订阅是否处于活动状态。通过运行
az --version
在终端或命令窗口中检查 Azure CLI 版本。 有关最新版本,请参阅最新发行说明。如果没有最新版本,请按照适用于你操作系统或平台的安装指南来更新安装。
示例 - 创建资源组
如果还没有用于逻辑应用的资源组,请使用命令 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
,并添加两个具有说明值的资源标记 testTag1
和 testTag2
。
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 创建示例应用逻辑。