Azure CLI 脚本示例 - 创建逻辑应用

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

此脚本通过 Azure CLI 逻辑应用扩展 (az logic) 创建一个示例逻辑应用。 有关通过 Azure CLI 创建和管理逻辑应用的详细指南,请参阅 Azure CLI 的逻辑应用快速入门

警告

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

先决条件

先决条件检查

开始之前验证环境:

示例工作流说明

此示例工作流定义文件可创建与 Azure 门户的快速入门相同的基本示例消耗逻辑应用工作流。

此示例工作流:

  1. 为逻辑应用指定架构 $schema

  2. 在触发器列表中为逻辑应用定义一个触发器 triggers。 该触发器每 3 小时重复一次 (recurrence)。 在为指定的 RSS 源 (feedUrl) 发布新源项 (When_a_feed_item_is_published) 时,将触发该操作。

  3. 在操作列表中为逻辑应用定义一个操作 actions。 该操作通过 Microsoft 365 发送一封电子邮件 (Send_an_email_(V2)),其中包含该操作输入 (inputs) 的正文部分 (body) 中指定的来自 RSS 源项的详细信息。

示例工作流定义

在运行示例脚本之前,必须先创建一个示例工作流定义

  1. 在计算机上创建 JSON 文件 testDefinition.json

  2. 将以下内容复制到 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/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365",
                        "connectionName": "office365",
                        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/chinanorth/managedApis/office365"
                    },
                    "rss": {
                        "connectionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss",
                        "connectionName": "rss",
                        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/chinanorth/managedApis/rss"
                    }
                }
            }
        }
    }
    
    
  3. 将占位符值更新为你自己的信息:

    1. 替换占位符电子邮件地址 ("To": "test@example.com")。 需要使用与逻辑应用连接器兼容的电子邮件地址。 有关详细信息,请参阅先决条件

    2. 如果你使用 Office 365 Outlook 连接器外的其他电子邮件连接器,请替换其他连接器详细信息。

    3. 将连接参数 ($connections) 下连接标识符(connectionIdid)的占位符订阅值 (00000000-0000-0000-0000-000000000000) 替换为你自己的订阅值。

  4. 保存更改。

示例脚本

注意

此示例针对 bash shell 编写而成。 如果要在另一个 shell(例如 Windows PowerShell 或命令提示符)中运行此示例,可能需要对脚本进行修改。

运行此示例脚本之前,请运行此命令以连接到 Azure:


az login

接下来,导航到在其中创建了工作流定义的目录。 例如,如果在桌面上创建了工作流定义 JSON 文件:


cd ~/Desktop

然后,运行此脚本以创建逻辑应用。


#!/bin/bash

# Create a resource group

az group create --name testResourceGroup --location chinanorth

# Create your logic app

az logic workflow create --resource-group "testResourceGroup" --location "chinanorth" --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 脚本示例。