従量課金ワークフローを Standard ロジック アプリにエクスポートする
シングルテナントの Azure Logic Apps で実行される Standard ロジック アプリ ワークフローは、多くの新機能と改善された機能を提供します。 たとえば、コンピューティングの分離、仮想ネットワークの統合、プライベート エンドポイント、App Services Environment ホスティング、Visual Studio Code を使用したローカル開発とデバッグ、ステートレス ワークフローでの待機時間の短縮などを実現できます。
Standard ワークフローの利点を活用したいにも関わらず、ワークフローがマルチテナント Azure Logic Apps で実行されている場合は、従量課金ワークフローをシングルテナント Azure Logic Apps に移動できるようになりました。 このスイッチは、分離やネットワーク統合、待機時間の短縮、コストの予測可能性の向上など、Standard 機能の一部を必要とするシナリオで理にかなっています。
従量課金ロジック アプリを Standard ロジック アプリにエクスポートできるようになりました。 Visual Studio Code と最新の Azure Logic Apps (Standard) 拡張機能を使用して、ロジック アプリをステートフル ワークフローとして Standard ロジック アプリ プロジェクトにエクスポートします。 これでワークフローをローカルで更新、テスト、デバッグして、再デプロイの準備を整えることができるようになります。 準備ができたら、Visual Studio Code から直接、または独自の DevOps プロセスを使用してデプロイできます。
Note
エクスポート機能では、ワークフローは移行されません。 代わりに、このツールは、ワークフローの定義、接続、統合アカウント成果物などの成果物をレプリケートします。 ソース ロジック アプリのリソース、ワークフロー、トリガー履歴、実行履歴、その他のデータはそのまま残ります。
エクスポート プロセスと移行体験を制御します。 エクスポートしたワークフローをテストして検証し、移行先環境を満足いくものにすることができます。 ソース ロジック アプリを無効または削除するタイミングを選択します。
この記事では、エクスポーのプロセスに関する情報を提供し、ロジック アプリ ワークフローを従量課金ワークフローから Visual Studio Code のローカル Standard ロジック アプリ プロジェクトにエクスポートする方法について説明しています。
既知の問題と制限事項
エクスポート ツールでは、統合アカウント設定などのインフラストラクチャ情報はエクスポートされません。
エクスポート ツールは、コンカレンシー設定を持つトリガーを使用してロジック アプリ ワークフローをエクスポートできます。 ただし、シングルテナントの Azure Logic Apps では、これらの設定は無視されます。
ロジック アプリを同じ Standard ロジック アプリ プロジェクト内にエクスポートする場合は、同じリージョンにロジック アプリが存在する必要があります。
既定では、接続資格情報はソース ロジック アプリ ワークフローから複製されていません。 ロジック アプリ ワークフローを実行するには、エクスポート後にこれらの接続を再認証する必要があります。
既定では、Azure コネクタに組み込みコネクタのバージョンが含まれている場合、エクスポート ツールでは Azure コネクタをその組み込みコネクタに自動的に変換します。 この動作からオプトアウトするためのオプションは存在しません。
エクスポート可能な操作の種類
操作 | JSON 型 |
---|---|
トリガー | 組み込み: Http 、HttpWebhook 、Recurrence 、manual (要求)マネージド: ApiConnection ApiConnectionNotification 、ApiConnectionWebhook |
アクション | 組み込み: AppendToArrayVariable 、AppendToStringVariable 、Compose 、DecrementVariable 、Foreach 、Http 、HttpWebhook 、If 、IncrementVariable 、InitializeVariable 、JavaScriptCode 、 Join 、ParseJson 、Response 、Scope 、Select 、SetVariable 、Switch 、Table 、Terminate 、Until 、Wait - マネージド: ApiConnection 、ApiConnectionWebhook |
前提条件
米国東部 2 など、同じサブスクリプションと Azure リージョンにデプロイする 1 つ以上のロジック アプリ。
ロジック アプリが現在デプロイされているサブスクリプションへの Azure 閲覧者サブスクリプション レベルのアクセス。
[マネージド コネクタのデプロイ] オプションを選択する場合は、Azure 共同作成者リソース グループ レベルのアクセス。
Azure Logic Apps (Standard) 拡張機能を使用して Visual Studio Code を設定する方法の要件を確認し、満たします。
Note
Visual Studio Code 用の Azure Logic Apps (Standard) 拡張機能のバージョン 2.0.16 以上を必ずインストールしてください。 一部の変換シナリオでは、このバージョンで利用できる最新のワークフロー デザイナーが必要になります。
エクスポートするグループ ロジック アプリ
Azure Logic Apps (Standard) 拡張機能を使用すると、複数の従量課金ロジック アプリ ワークフローを 1 つの Standard ロジック アプリ プロジェクトに組み合わせることができます。 シングルテナントの Azure Logic Apps では、1 つの Standard ロジック アプリ リソースに複数のワークフローを含めることができます。 この方法では、エクスポートするロジック アプリを選択するときに依存関係を見逃さないように、ワークフローを事前に検証できます。
エクスポートするロジック アプリを選択する場合、次の推奨事項を考慮してください。
ワークフローが同じリソース (統合アカウントの成果物、マップ、スキーマなど) を共有するロジック アプリをグループ化するか、一連のプロセスを通じてリソースを使用します。
ロジック アプリごとの組織とワークフローの数については、 ベスト プラクティスと推奨事項を確認します。
従量課金ワークフローをローカル プロジェクトにエクスポートする
エクスポートするロジック アプリを選択する
Visual Studio Code で、Azure にサインインします (まだサインインしていない場合)。
Visual Studio Code アクティビティ バーで、[Azure] を選択して [Azure] ウィンドウ (Shift + Alt + A) を開きます。
[ワークスペース] セクションのツール バーの [Azure Logic Apps] メニューから、[ロジック アプリのエクスポート] を選択します。
[エクスポート] タブを開いたら、Azure サブスクリプションと リージョンを選択し、[次へ] を選択します。
エクスポートするロジック アプリを選択します。 選択した各ロジック アプリは、[選択したロジック アプリ] の一覧に横に表示されます。
ヒント
ロジック アプリを検索し、リソース グループでフィルター処理することもできます。
エクスポート ツールは、選択したロジック アプリがエクスポートの対象かどうかを検証し始めます。
[詳細オプション] セクションでは、以下のオプションを選択できます。
オプション Default 説明 インフラストラクチャ テンプレートを生成する オン エクスポート プロセスでは、Standard ロジック アプリ用の 1 つの ARM テンプレートと、エクスポートされた Azure マネージド接続ごとに 1 つの ARM テンプレートを含むインフラストラクチャ テンプレートが作成されます。 接続資格情報を複製する "オフ" エクスポート プロセスでは、デプロイの一環として、元の Azure マネージド接続から Azure 内に作成された新しい Azure マネージド接続に資格情報が複製されます。 エクスポートされた接続が Azure マネージド接続 (たとえば、Office 365 Outlook 接続など) のままである場合にのみ機能します。
重要: このオプションは慎重に使用してください。 既定では、2 つの新しい接続が同じリソースを指すことになるので、競合状態が発生する可能性があります。変換と検証のソースとして統合アカウントが既定で使用される "オフ" マップおよびスキーマ ファイルをローカルまたは統合アカウント内で参照します。 有効になっている場合は、マップとスキーマを宛先プロジェクトにコピーしないでください。 ロジック アプリのアプリ設定に統合アカウントへの参照を追加する必要があります。 既定では、Transform XML および XML Validation アクションは、ソースとして統合アカウントを使用します。 カスタム コネクタを API Management アクションとしてエクスポートする "オフ" 有効になっている場合は、カスタム コネクタは HTTP アクションではなく API Management アクションとして作成されるため、API Management 内の API 操作としてカスタム アクションを実装できます。 詳細については、「カスタマー サービスまたは API に接続するための Azure Logic Apps Standard オプション」を参照してください。 完了したら、次へ を選択します。
エクスポートの検証結果を確認する
エクスポートの検証が完了したら、各ロジック アプリのエントリを展開して結果を確認します。
エラーが発生したロジック アプリは、エクスポートできません。 ソースで修正するまで、これらのロジック アプリをエクスポート リストから削除する必要があります。 ロジック アプリを一覧から削除するには、[戻る] を選択します。
たとえば、 次のように SourceLogicApp2 にエラーがあり、修正されるまでエクスポートすることはできません。
警告の有無にかかわらず検証に合格したロジック アプリは、引き続きエクスポートの対象となります。 続行するには、すべてのアプリが正常に検証された場合 [エクスポート] を選択し、アプリに警告がある場合は [警告を含むエクスポート] を選択します。
たとえば、 次のように SourceLogicApp3 には警告がありますが、引き続きエクスポートできます。
次の表は、各検証アイコンと状態の詳細を示しています。
検証アイコン 検証状態 項目が検証に合格したため、エクスポートは問題なく解決できます。 項目の検証に失敗したため、エクスポートを続行できません。
失敗した項目の検証エントリが自動的に展開して表示され、検証エラーに関する情報が提供されます。項目は警告を含む検証に合格しましたが、エクスポートは必須であるエクスポート後の解決で続行できます。
警告が表示された項目の検証エントリが自動的に展開されて表示され、警告と必要なエクスポート後修復に関する情報が提供されます。[エクスポートの完了] セクションが表示されたら、[エクスポートの場所] で、新しい Standard ロジック アプリ プロジェクトのローカル フォルダーを参照して選択します。
ワークフローにデプロイするマネージド接続がある場合は、[マネージド接続のデプロイ] を選択すると、Azure サブスクリプション内の既存のリソース グループが表示されます。 マネージド接続をデプロイするサブスクリプションとリソース グループを選びます。
[エクスポート後の手順] で、エクスポート後に必要な手順を確認します。次に例を示します。
シナリオに基づいて、[エクスポートして完了] または [警告を表示してエクスポートして完了] を選択します。
エクスポート ツールは、選択したフォルダーの場所にプロジェクトをダウンロードし、Visual Studio Code でプロジェクトを展開し、そのオプションを選択した場合はマネージド接続をデプロイします。
このプロセスが完了すると、Visual Studio Code によって新しいワークスペースが開きます。 これで エクスポート ウインドウを安全に閉じることができます。
Standard ロジック アプリ プロジェクトから、README.md ファイルを開き、エクスポート後に必要な手順を確認します。
エクスポート後の手順
修復ステップ
エクスポートされたロジック アプリ ワークフローの中には、Standard プラットフォームで実行するためにエクスポート後の修復手順が必要なものもあります。
Standard ロジック アプリ プロジェクトから、README.md ファイルを開き、エクスポートしたワークフローの修復手順を確認します。 エクスポート ツールは、エクスポート後に必要なすべての手順を含む README.md ファイルを生成します。
ソース ロジック アプリ ワークフローに変更を加える前に、新しい Standard ロジック アプリのリソースとワークフローをテストします。
統合アカウントのアクションと設定
統合アカウントに依存するアクションをエクスポートする場合は、必要な成果物を含む統合アカウントへの参照リンクを使用して、Standard ロジック アプリを手動で設定する必要があります。 詳細については、「統合アカウントを Standard ロジック アプリにリンクする」を参照してください。
Batch アクションと設定
統合アカウントに格納されている複数の構成で Batch アクションを使用するアクションをエクスポートする場合は、エクスポート後に、正しい値を使用して Batch アクションを手動で構成する必要があります。 詳細については、「Azure Logic Apps でのメッセージの送信、受信、バッチ処理」を確認してください。
プロジェクト フォルダー構造
エクスポート プロセスが完了すると、Standard ロジック アプリ プロジェクトには、 一般的な Standard ロジック アプリ プロジェクトの他のほとんどのフォルダーとファイルと共に新しいフォルダーとファイルが含まれます。
次の表は、エクスポート プロセスによって追加されたこれらの新しいフォルダーとファイルについて説明しています。
フォルダー | ファイル | 説明 |
---|---|---|
.development\deployment | LogicAppStandardConnections.parameters.json | マネージド コネクタをデプロイする Azure Resource Manager テンプレート パラメーター ファイル |
LogicAppStandardConnections.template.json | マネージド コネクタをデプロイする Azure Resource Manager テンプレートの定義 | |
LogicAppStandardInfrastructure.parameters.json | Standard ロジック アプリ リソースをデプロイする Azure Resource Manager テンプレート パラメーター ファイル | |
LogicAppStandardInfrastructure.template.json | Standard ロジック アプリ リソースをデプロイする Azure Resource Manager テンプレートの定義 | |
.logs\export | exportReport.json | エクスポート後の修復に必要なすべての手順を含むレポートの概要の生ファイルをエクスポートする |
exportValidation.json | エクスポートされた各ロジック アプリの検証結果を含む、検証レポートの生ファイル | |
README.md | 作成されたロジック アプリと必要なすべての次の手順を含む、エクスポート結果の概要を用いた Markdown ファイル |