你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure CLI 脚本示例 - 创建逻辑应用
适用于:Azure 逻辑应用(消耗)
此脚本通过 Azure CLI 逻辑应用扩展 (az logic
) 创建一个示例逻辑应用。 有关通过 Azure CLI 创建和管理逻辑应用的详细指南,请参阅 Azure CLI 的逻辑应用快速入门。
警告
Azure CLI 逻辑应用扩展当前是试验性的,未涵盖在客户支持中 。 请谨慎使用此 CLI 扩展,尤其是在生产环境中选择使用扩展时。
先决条件
- 具有活动订阅的 Azure 帐户。 如果没有 Azure 订阅,可以创建一个免费帐户。
- 在本地计算机上安装的 Azure CLI。
- 在计算机上安装的逻辑应用 Azure CLI 扩展。 若要安装此扩展,请使用此命令:
az extension add --name logic
- 逻辑应用的工作流定义。 此 JSON 文件必须遵循工作流定义语言架构。
- 通过与逻辑应用相同的资源组中支持的 Azure 逻辑应用连接器建立与电子邮件帐户的 API 连接。 此示例使用 Office 365 Outlook 连接器,但你也可以使用其他连接器(如 Outlook.com)。
先决条件检查
开始之前验证环境:
登录 Azure 门户,并通过运行
az login
来检查订阅是否处于活动状态。通过运行
az --version
在终端或命令窗口中检查 Azure CLI 版本。 有关最新版本,请参阅最新发行说明。- 如果没有最新版本,请按照适用于你操作系统或平台的安装指南来更新安装。
示例工作流说明
此示例工作流定义文件可创建与 Azure 门户的快速入门相同的基本示例消耗逻辑应用工作流。
此示例工作流:
为逻辑应用指定架构
$schema
。在触发器列表中为逻辑应用定义一个触发器
triggers
。 该触发器每 3 小时重复一次 (recurrence
)。 在为指定的 RSS 源 (feedUrl
) 发布新源项 (When_a_feed_item_is_published
) 时,将触发该操作。在操作列表中为逻辑应用定义一个操作
actions
。 该操作通过 Microsoft 365 发送一封电子邮件 (Send_an_email_(V2)
),其中包含该操作输入 (inputs
) 的正文部分 (body
) 中指定的来自 RSS 源项的详细信息。
示例工作流定义
在运行示例脚本之前,必须先创建一个示例工作流定义。
在计算机上创建 JSON 文件
testDefinition.json
。将以下内容复制到 JSON 文件中:
{ "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": { "Send_an_email_(V2)": { "inputs": { "body": { "Body": "<p>@{triggerBody()?['publishDate']}<br>\n@{triggerBody()?['title']}<br>\n@{triggerBody()?['primaryLink']}</p>", "Subject": "@triggerBody()?['title']", "To": "test@example.com" }, "host": { "connection": { "name": "@parameters('$connections')['office365']['connectionId']" } }, "method": "post", "path": "/v2/Mail" }, "runAfter": {}, "type": "ApiConnection" } }, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": { "$connections": { "defaultValue": {}, "type": "Object" } }, "triggers": { "When_a_feed_item_is_published": { "inputs": { "host": { "connection": { "name": "@parameters('$connections')['rss']['connectionId']" } }, "method": "get", "path": "/OnNewFeed", "queries": { "feedUrl": "https://www.pbs.org/now/rss.xml" } }, "recurrence": { "frequency": "Hour", "interval": 3 }, "splitOn": "@triggerBody()?['value']", "type": "ApiConnection" } } }, "parameters": { "$connections": { "value": { "office365": { "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365", "connectionName": "office365", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/office365" }, "rss": { "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss", "connectionName": "rss", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/rss" } } } } }
将占位符值更新为你自己的信息:
替换占位符电子邮件地址 (
"To": "test@example.com"
)。 需要使用与逻辑应用连接器兼容的电子邮件地址。 有关详细信息,请参阅先决条件。如果你使用 Office 365 Outlook 连接器外的其他电子邮件连接器,请替换其他连接器详细信息。
将连接参数 (
$connections
) 下连接标识符(connectionId
和id
)的占位符订阅值 (00000000-0000-0000-0000-000000000000
) 替换为你自己的订阅值。
保存更改。
示例脚本
注意
此示例针对 bash
shell 编写而成。 如果要在另一个 shell(例如 Windows PowerShell 或命令提示符)中运行此示例,可能需要对脚本进行修改。
运行此示例脚本之前,请运行此命令以连接到 Azure:
az login
接下来,导航到在其中创建了工作流定义的目录。 例如,如果在桌面上创建了工作流定义 JSON 文件:
cd ~/Desktop
然后,运行此脚本以创建逻辑应用。
#!/bin/bash
# Create a resource group
az group create --name testResourceGroup --location westus
# Create your logic app
az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"
清理部署
使用完示例脚本后,运行以下命令以删除资源组及其所有嵌套资源,包括逻辑应用。
az group delete --name testResourceGroup --yes
脚本说明
此示例脚本使用以下命令创建新的资源组和逻辑应用。
命令 | 说明 |
---|---|
az group create |
创建存储逻辑应用资源的资源组。 |
az logic workflow create |
基于参数 --definition 中定义的工作流创建逻辑应用。 |
az group delete |
删除资源组及其所有嵌套资源。 |
后续步骤
有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档。
可以在 Microsoft 代码示例浏览器中找到其他逻辑应用 CLI 脚本示例。