Azure Logic Apps への移行 ステージ 3 - 変換: ワークフローを生成する

適用対象: Azure Logic Apps (Standard)

統合プロジェクトの移行プロセスは、複雑なソース成果物を Azure Logic Apps (Standard) のデプロイ可能なリソースに変換するのが困難な場合にストールする可能性があります。 コンバージョン段階では、Visual Studio CodeのAzure Logic Apps Migration Agentが承認された計画結果を使って順序付きコンバージョンタスクプランを作成・実行します。 このプロセスでは、標準ワークフロー定義、接続設定、サポートファイルなどのアーティファクトが作成されます。

この記事では、Azure Logic Apps移行エージェントが変換タスクを作成して、ソース統合成果物をすぐにデプロイできる Standard ロジック アプリ プロジェクト リソースにマップする方法と、エージェントがこれらのタスクを実行して、すぐにデプロイして実行できるプロジェクト成果物を生成する方法について説明します。

変換プロセスのアクション

Azure Logic Apps移行エージェントで、Plan Logic App Design アクティビティが完了すると、Create 変換タスク アクティビティが使用可能になります。 Create Conversion Tasks アクティビティを選択すると、@migration-converter GitHub Copilot エージェントは、ターゲット ロジック アプリ プロジェクト成果物を生成するために必要な変換タスクを作成します。

これらのタスクを確認し、「Execute Conversion Tasks」アクティビティを選択すると、@migration-converter GitHub Copilot エージェントが必要なタスクを依存順に処理します。 オプションの クラウドデプロイメント&テスト タスクはこのアクションには含まれておらず、別途承認が必要です。

1: ロジック アプリ プロジェクト成果物を生成する

@migration-converter エージェントは、次のセクションで説明する出力を生成します。

プロジェクトの足場構造

@migration-converterエージェントはまずVisual Studio Codeワークスペースとoutフォルダの下に標準ロジックアプリプロジェクトを作成します。 後の変換タスクでは、承認された計画で必要とされる際に、1つ以上のワークフロー定義、接続、アーティファクト、.NET関数プロジェクトが追加されます。

out/
└── <workspace-name>/
    ├── <workspace-name>.code-workspace
    ├── <logic-app-name>/
    │   ├── host.json
    │   ├── local.settings.json
    │   ├── connections.json                 # Added when connectors are configured
    │   ├── <workflow-name>/
    │   │   └── workflow.json
    │   ├── Artifacts/                       # Added only when required
    │   └── lib/custom/                      # Added when local functions are built
    └── Functions/                           # Added only when local functions are required

次の例は、プロジェクト スキャフォールディング構造とファイルを作成する @migration-converter エージェントを示しています。

Logic Apps Standard ワークフロー ファイルを生成する変換ステージを示すスクリーンショット。

ワークフロー定義ファイル

承認されたプラン内の各ワークフローについて、 @migration-converter エージェントは以下のワークフロー操作を含む workflow.json ファイルを生成します。

Operation 説明
Trigger 各ワークフローは常に、ワークフローのエントリ ポイントである 1 つのトリガーで始まります。 エージェントは、ソース内の受信ポートまたはリスナーからこのトリガーをマップします。
Action 各ワークフローには、タスクを実行する 1 つ以上のアクションがあります。 エージェントは、ソース内のオーケストレーション図形、フロー プロセッサ、またはアクティビティからこれらのアクションをマップします。
条件またはループ If、For each、Until など、制御フロー ロジックを実行するアクション。 エージェントは、ソース内の決定図形とループからこれらのアクションを変換します。
スコープ エラー処理の設定に使用できる run-after 構成を含むアクション。

接続の構成

@migration-converter エージェントは、connections.json ファイルを生成します。このファイルには、ワークフロー内のコネクタ操作に必要な構成が格納されます。

次の表では、高度なコネクタ グループについて説明します。

コネクタ グループ 説明と例
組み込み Azure Logic Apps (Standard) ランタイムと同じプロセスで実行される操作を含むコネクタ。 たとえば、これらのコネクタには、Request、File System、HTTP、 Azure Blob Storage, Service Bus, SQL Server, AS2, EDIFACT, X12 など。

詳細については次を参照してください:

- Azure Logic Apps の組み込みコネクタ
- Azure Logic Apps (Standard) 組み込みコネクタ リファレンス
共有 または "マネージド" マルチテナント Azureで実行される操作を含むコネクタ。 たとえば、次のようになります。 これらのコネクタには、Salesforce、SAP、Office 365 Outlook、Power BI、SharePoint などがあります。 Azure Logic Appsでは、クラウド、オンプレミス、ハイブリッド環境のMicrosoft、Azure、およびその他のプラットフォームに対して、1,400 以上の共有コネクタがサポートされています。

詳細については、「Azure Logic Apps の管理コネクタまたは共有コネクタ」を参照してください。
カスタム カスタム API やその他のサービス用に作成する他の発行元または組織のコネクタ。 詳細については、「 標準ワークフロー用のカスタム組み込みコネクタを作成する」を参照してください。

詳細については、Azure Logic Apps におけるコネクタとは何かをご覧ください。

.NETのローカル関数

もしソースプラットフォームコンポーネントにAzure Logic Apps(Standard)に直接コネクター対応のものがない場合、@migration-converterエージェントは別の.NET Functionsプロジェクトを作成し、ローカル関数をLogic Appプロジェクトのlib/customフォルダにビルドできます。 この動作は、通常、次のようなシナリオで発生します。

  • カスタム データ変換ロジック
  • 複雑な解析または検証規則
  • カスタム プロトコルを使用したオンプレミス システムへの呼び出し
  • ビジネス ルールの評価

2. 出力の完全性と品質を確認する

@migration-converterエージェントはno-stubs-code-generationスキルを使い、生成出力にスタブ実装、プレースホルダーコード、TODOコメントが含まれてはいけません。 この要件は手動レビューやランタイムテストに代わるものではありません。

このスキルは生成されたファイルに対して以下の基準を適用します:

Standard 説明
スタブまたはプレースホルダー コードなし 生成されたすべてのコードは完全で機能します。
有効な JSON すべての workflow.json および connections.json ファイルは有効であり、Azure Logic Apps スキーマに準拠しています。
正しい参照 ワークフロー アクションは、正しい接続とパラメーターを参照します。
エラー処理 ワークフローには、適切なエラー処理スコープが含まれます。

テスト用にワークフローをローカルで実行する検証ステージに対して生成された出力を準備するには、ワークフロー定義、接続、および生成された.NETローカル関数の不正確性を手動で検査してください。

Important

ベスト プラクティスとして、AI で生成された出力を使用する前に必ず確認してください。 このような出力には、正しくない情報が含まれている可能性があります。

詳細については、「Quickstart: Azure Logic Apps Migration Agent を使用して統合プロジェクトを移行するを参照してください。

次のステップ