次の方法で共有


Azure CLI のサンプル スクリプト - ロジック アプリを作成する

適用対象: Azure Logic Apps (従量課金)

このスクリプトでは、 Azure CLI Logic Apps 拡張機能 (az logic) を使用してサンプル ロジック アプリを作成します。 Azure CLI を使用したロジック アプリの作成と管理の詳細なガイドについては、Azure CLI の Logic Apps クイック スタートを参照してください。

Warnung

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 portal のクイックスタートと同じ基本的な従量課金ロジック アプリ ワークフローの例を作成します。

このサンプル ワークフロー:

  1. ロジック アプリのスキーマ ( $schema) を指定します。

  2. triggers、トリガーの一覧でロジック アプリのトリガーを定義します。 トリガーは 3 時間ごとに繰り返されます (recurrence)。 アクションは、指定された RSS フィード (feedUrl) に対して新しいフィード項目が発行 (When_a_feed_item_is_published) されたときにトリガーされます。

  3. actionsアクションの一覧でロジック アプリのアクションを定義します。 アクションは、アクションの入力 (inputs) の本文セクション (body) で指定された RSS フィード項目の詳細を含む電子メール (Send_an_email_(V2)) を Microsoft 365 に送信します。

サンプル ワークフロー定義

サンプル スクリプトを実行する前に、まずサンプル ワークフロー定義を作成する必要があります。

  1. コンピューターに testDefinition.json 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/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"
                    }
                }
            }
        }
    }
    
    
  3. プレースホルダーの値を独自の情報で更新します。

    1. プレースホルダーのメール アドレス ("To": "test@example.com") を置き換えます。 Logic Apps コネクタと互換性のあるメール アドレスを使用する必要があります。 詳細については、前提条件を参照してください。

    2. Office 365 Outlook コネクタ以外の電子メール コネクタを使用している場合は、コネクタの詳細を置き換えます。

    3. 接続パラメーター ($connections) の下にある接続識別子 (connectionIdid) のプレースホルダー サブスクリプション値 (00000000-0000-0000-0000-000000000000) を、独自のサブスクリプション値に置き換えます。

  4. 変更を保存します。

サンプル スクリプト

このサンプルは、 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

スクリプトの説明

このサンプル スクリプトでは、次のコマンドを使用して、新しいリソース グループとロジック アプリを作成します。

コマンド 注記
az group create ロジック アプリのリソースが格納されるリソース グループを作成します。
az logic workflow create パラメーター --definitionで定義されているワークフローに基づいてロジック アプリを作成します。
az group delete リソース グループとその入れ子になったすべてのリソースを削除します。

次のステップ

Azure CLI の詳細については、Azure CLI のドキュメントのページを参照してください。

その他の Logic Apps CLI スクリプト サンプルは、 Microsoft のコード サンプル ブラウザーで確認できます。