クイックスタート - Azure Logic Apps で Azure CLI を使用してワークフローを作成して管理する

このクイックスタートでは、Azure CLI Logic Apps 拡張機能 (az logic) を使用して、Azure Logic Apps で実行される自動ワークフローを作成して管理する方法について説明します。 コマンド ラインから、ロジック アプリ ワークフロー定義の JSON ファイルを使用して、マルチテナント Azure Logic Apps で従量課金プラン ロジック アプリを作成できます。 その後、コマンド ラインから、listshow (get)、updatedelete などの操作を実行してロジック アプリを管理できます。

警告

Azure CLI Logic Apps 拡張機能は、現在、"試験段階" であり、"カスタマーサポートの対象外" です。 この CLI 拡張機能は、特に運用環境での使用を選択する場合、慎重に使用してください。

このクイックスタートは現在、マルチテナント Azure Logic Apps で実行される従量課金ロジック アプリ ワークフローにのみ適用されます。 Azure CLI は現在、シングルテナント Azure Logic Apps で実行される Standard ロジック アプリ ワークフローでは使用できません。 詳細については、Azure Logic Apps のリソースの種類とホストの違いに関するページを参照してください。

Azure Logic Apps を初めて使用する場合は、Azure portalVisual StudioVisual Studio Code を使用して初めての従量課金ロジック アプリ ワークフローを作成する方法を学習してください。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。

  • ご利用のローカル コンピューターに Azure CLI がインストールされていること。

  • ご利用のコンピューターに Azure Logic Apps CLI 拡張機能がインストールされていること。 この拡張機能をインストールするには、コマンド az extension add --name logic を使用します。

  • ロジック アプリを作成する Azure リソース グループ

前提条件の確認

開始する前に、環境を検証します。

例 - リソース グループの作成

ロジック アプリのリソース グループがまだない場合は、コマンド az group create を実行してグループを作成します。 たとえば、次のコマンドを実行すると、場所 westustestResourceGroup という名前のリソース グループが作成されます。

az group create --name testResourceGroup --location westus

リソース グループが正常に作成された場合、出力には、provisioningStateSucceeded として示されます。

<...>
  "name": "testResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
<...>

ワークフロー定義

Azure CLI を使用して、新しいロジック アプリを作成するか、または既存のロジック アプリを更新する前に、ロジック アプリのワークフロー定義が必要です。 Azure portal で、デザイナー ビューからコード ビューに切り替えると、ロジック アプリの基になるワークフロー定義を JSON 形式で表示できます。

コマンドを実行してロジック アプリを作成または更新する場合、ワークフロー定義は必須パラメーター (--definition) としてアップロードされます。 ワークフロー定義は、ワークフロー定義言語のスキーマに従う JSON ファイルとして作成する必要があります。

CLI からロジック アプリを作成する

Azure CLI からロジック アプリ ワークフローを作成するには、定義用の JSON ファイルと共にコマンド az logic workflow create を使用します。

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]

コマンドには、次の必須パラメーターを含める必要があります。

パラメーター 説明
ワークフロー定義 --definition ロジック アプリのワークフロー定義を含む JSON ファイル。
場所 --location -l ロジック アプリを配置する Azure リージョン。
名前 --name -n ロジック アプリの名前。 名前に含めることができるのは、文字、数字、ハイフン (-)、アンダースコア (_)、かっこ (())、ピリオド (.) のみです。 また、名前はリージョン全体で一意である必要があります。
リソース グループ名 --resource-group -g ロジック アプリを作成する Azure リソース グループ。 ロジック アプリのリソース グループがまだない場合は、開始する前に、リソース グループを作成します。

さらに、省略可能なパラメーターを追加して、ロジック アプリのアクセス制御、エンドポイント、統合アカウント、統合サービス環境、状態、リソース タグを構成することもできます。

例 - ロジック アプリの作成

この例では、testLogicApp という名前のワークフローを場所 westus にあるリソース グループ testResourceGroup に作成します。 JSON ファイル testDefinition.json には、ワークフロー定義が含まれています。

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"

ワークフローが正常に作成されると、CLI によって、新しいワークフロー定義の JSON コードが表示されます。 ワークフローの作成に失敗した場合は、発生する可能性のあるエラーの一覧を参照してください。

CLI からロジック アプリを更新する

Azure CLI からロジック アプリのワークフローを更新するには、コマンド az logic workflow create を使用します。

コマンドには、ロジック アプリを作成する場合と同じ必須パラメーターを含める必要があります。 また、ロジック アプリを作成する場合と同じ省略可能なパラメーターを追加することもできます。

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 を使用し、説明の値を含む 2 つのリソース タグ testTag1testTag2 を追加します。

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "newTestDefinition.json" --tags "testTag1=testTagValue1" "testTag2=testTagValue"

ワークフローが正常に更新されると、CLI によって、ロジック アプリの更新されたワークフロー定義が表示されます。 更新が失敗した場合は、発生する可能性のあるエラーの一覧を参照してください。

CLI からロジック アプリを削除する

Azure CLI からロジック アプリのワークフローを削除するには、コマンド az logic workflow delete を使用します。

コマンドには、次の必須パラメーターを含める必要があります。

パラメーター 説明
名前 --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 でロジック アプリの一覧を表示するか、または Azure portal でロジック アプリを表示します。

例 - ロジック アプリの削除

この例では、前のセクションで作成したサンプル ワークフローを削除します。

az logic workflow delete --resource-group "testResourceGroup" --name "testLogicApp"

確認プロンプトに y で応答すると、ロジック アプリが削除されます。

考慮事項 - ロジック アプリの削除

ロジック アプリを削除すると、ワークフロー インスタンスに次のような影響が生じます。

  • 進行中および保留中の実行があれば、それらのキャンセルを Azure Logic Apps がベスト エフォートで試みます。

    大量のボリュームやバックログがあったとしても、ほとんどの実行は完了前または開始前にキャンセルされます。 ただし、キャンセル プロセスは完了までに時間がかかる場合があります。 その間、ランタイムがキャンセル プロセスに対処する傍ら、いくつかの実行が実行対象として選択されてしまう可能性があります。

  • Azure Logic Apps は、新しいワークフロー インスタンスを作成することも実行することもありません。

  • ワークフローを削除してから同じワークフローを再作成しても、再作成されたワークフローに、削除したワークフローと同じメタデータが割り当てられることはありません。 削除したワークフローの呼び出し元となったワークフローを再保存する必要があります。 これにより、呼び出し元は、再作成されたワークフローの正しい情報を取得します。 それ以外の場合、再作成したワークフローの呼び出しは、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 結果に含める項目の数。
Assert --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 Logic Apps CLI 拡張機能がインストールされていないことを示します。 前提条件の手順に従って、ご利用のコンピューターに Logic Apps 拡張機能をインストールします。

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://docs.microsoft.com/cli/azure/azure-cli-extensions-overview

次のエラーは、ワークフロー定義をアップロードするためのファイル パスが正しくないことを示している可能性があります。

Expecting value: line 1 column 1 (char 0)

グローバル パラメーター

az logic コマンドでは、次の省略可能なグローバル Azure CLI パラメーターを使用できます。

パラメーター 説明
出力形式 --output -o 出力形式を既定の JSON から変更します。
エラーのみを表示 --only-show-errors 警告を表示せず、エラーのみを表示します。
"詳細" --verbose 詳細ログを表示します。
デバッグ --debug すべてのデバッグ ログを表示します。
ヘルプ メッセージ --help -h ヘルプ ダイアログを表示します。
クエリ --query JSON 形式の出力の JMESPath クエリ文字列を設定します。

次のステップ

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

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

次に、サンプル スクリプトとワークフロー定義を使用して、Azure CLI からサンプル アプリ ロジックを作成できます。