Azure CLI 指令碼範例 - 建立邏輯應用程式
適用於:Azure Logic Apps (使用量)
此指令碼會透過 Azure CLI Logic Apps 延伸模組 (az logic
) 建立範例邏輯應用程式。 如需透過 Azure CLI 建立和管理邏輯應用程式的詳細指南,請參閱 Azure CLI 的 Logic Apps 快速入門。
警告
Azure CLI Logic Apps 擴充功能目前為「實驗性」擴充功能,不在客戶支援涵蓋範圍內。 請小心使用此 CLI 擴充功能,特別是當您選擇在生產環境中使用擴充功能時。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 如果您沒有 Azure 訂閱,請建立免費帳戶。
- 在您的本機電腦上安裝 Azure CLI。
- 在您的電腦上安裝 Logic Apps Azure CLI 擴充功能。 若要安裝此擴充功能,請使用下列命令:
az extension add --name logic
- 邏輯應用程式的工作流程定義。 此 JSON 檔案必須遵循工作流程定義語言結構描述。
- 透過與您的邏輯應用程式相同資源群組中支援的 Azure Logic Apps 連接器,對電子郵件帳戶的 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)
),其中包含來自 RSS 摘要項目的詳細資料,如動作輸入 (inputs
) 的本文區段 (body
) 所指定。
範例工作流程定義
執行範例指令碼之前,您必須先建立範例工作流程定義。
在電腦上建立 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"
)。 您必須使用與 Logic Apps 連接器相容的電子郵件地址。 如需詳細資訊,請參閱先決條件。如果您使用與 Office 365 Outlook 連接器以外的另一個電子郵件連接器,請取代該額外的連接器詳細資料。
將連線參數 (
$connections
) 底下您的連線識別碼 (connectionId
和id
) 的預留位置訂用帳戶值 (00000000-0000-0000-0000-000000000000
) 以您自己的訂用帳戶值取代。
儲存您的變更。
範例指令碼
注意
此範例是針對 bash
殼層所撰寫。 如果您想要在另一個殼層中 (例如 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
指令碼說明
此範例指令碼使用下列命令來建立新的資源群組和邏輯應用程式。
Command | 注意 |
---|---|
az group create |
建立資源群組,在其中儲存邏輯應用程式的資源。 |
az logic workflow create |
根據參數 --definition 中定義的工作流程建立邏輯應用程式。 |
az group delete |
刪除資源群組和其所有巢狀資源。 |
下一步
如需 Azure CLI 的詳細資訊,請參閱 Azure CLI 文件。
您可以在 Microsoft 的程式碼範例瀏覽器中找到其他 Logic Apps CLI 指令碼範例。