演習 - カスタム API を作成する

完了

この演習では、いくつかのカスタムロジックを実行する Dataverse カスタム API を構築します。 その後、Power Automate フローのステップからカスタム API を使用します。

重要

Microsoft Dataverse がプロビジョニングされているテスト環境を使用してください。 テスト環境がない場合は、コミュニティ プランに新規登録できます。

タスク 1: カスタム API プロジェクトを作成する

  1. Power Platform CLI をダウンロードしてインストールします。

  2. powerapps-cli ファイルを実行してインストールを開始します。

  3. セットアップ ウィザードを使用して設定を完了し、完了を選択します。

  4. コマンド プロンプトを開きます。

  5. 次のコマンドを実行して、CustomAPILab という名前の新しいフォルダーを作成します。

    md CustomAPILab

  6. ディレクトリを作成したフォルダーに変更します。

    cd CustomAPILab

  7. CustomAPIlAB フォルダーが表示されます。 新しい Dataverse プラグイン クラス ライブラリを初期化するには、次のコマンドを実行します。

    pac plugin init

  8. Dataverse プラグイン クラス ライブラリが正常に作成されます。

    作成したプラグイン クラス ライブラリを示すスクリーンショット。

  9. 次のコマンドを実行して、Visual Studio でプロジェクトを開きます。

    start CustomAPILab.csproj

  10. Visual Studio でプロジェクトが開きます。

  11. Plugin1.cs ファイルを右クリックして名前を MatchPlugin.cs に変更します。

  12. ファイルの名前を変更するダイアログではいを選択します。

  13. CustomAPILab プロジェクト内の参照を右クリックし、NuGet パッケージの管理を選択します。

  14. System.Text.RegularExpressions を検索し、インストールを選択します。

    NuGet パッケージがインストールされたことを示すスクリーンショット。

  15. MatchPlugin.cs ファイルを開きます。

  16. 次のステートメントを追加します。

    using System.Text.RegularExpressions;

  17. ExecuteDataversePlugin メソッド内と、VAR コンテキスト行の後に次の行を追加します。 これらの行は、カスタム API の呼び出しで渡された入力パラメーターから値を取得します。

    string input = (string)context.InputParameters["StringIn"];

    string pattern = (string)context.InputParameters["Pattern"];

  18. トレース サービスを取得するために、次の行を後に追加します。

    ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));

  19. 入力値をトレースに書き込むために、下の行を追加します。

    tracingService.Trace("Provided input: " + input);

  20. Regex.Match メソッドを呼び出すために、次の行を後に追加します。

    var result = Regex.Match(input, pattern);

  21. 結果をトレースに書き込みます。

    tracingService.Trace("Matching result: " + result.Success);

  22. そして最後に、次の行を追加して、出力パラメーター [一致] を設定します。

    context.OutputParameters["Matched"] = result.Success;

  23. これで、実行メソッドは以下のようになります。

    プラグインの実行メソッドを示すスクリーンショット。

  24. ビルド > ビルド ソリューションを選択します。

  25. プロジェクトが正常に構築されます。

タスク 2: カスタム API プラグインを登録する

  1. コマンド プロンプトを開いて、下のコマンドを実行して Plugin Registration Tool を起動します。

    pac tool prt

  2. + 新しい接続の作成を選択します。

  3. Office 365 を選択し、資格情報を入力して、ログインを選択します。

  4. 正しい環境を選択します。

  5. 登録 | 新規アセンブリ登録を選択します。

    新規アセンブリの登録をクリックしたスクリーンショット。

  6. [...] を選択し、CustomAPILab\bin\Debug\net462 フォルダーを参照します。

  7. CustomAPILab.dll を選択します。

  8. OK を選択します。

    プラグインが選択された状態で、新規アセンブリの登録ダイアログが表示されているスクリーンショット。

  9. 選択したプラグインの登録を選択します。

  10. 成功メッセージの OK を選択します。 プラグインは、次のタスクで作成するカスタム API に接続する準備ができています。

タスク 3: カスタム API を作成する

  1. Power Apps Maker Portal に移動して、正しい環境にいることを確認します。

  2. 左側のナビゲーションでソリューションを選択します。

  3. + 新しいソリューションを選択します。

  4. 表示名にカスタム API ラボと入力します。

  5. 公開元のドロップダウンで CDS Default Publisher を選択します。

  6. 作成を選択します。 これにより、ここで作成したコンポーネントを含むカスタム ソリューションが作成されます。

  7. + 新規 | その他 | その他 | カスタム API を選択します。

  8. 次の情報を入力してください。

    • 一意の名前: contoso_match

    • 名前: 一致

    • 表示名: 一致

    • 説明: 文字列を一致させる

    • バインド タイプ: グローバル

  9. プラグインのタイプで検索アイコンを選択して、お使いのプラグインを探します。

    フィールドが入力されたカスタム API ダイアログを示すスクリーンショット。

  10. 保存して閉じるを選択します。

  11. 完了を選択します。

  12. + 新規 | その他 | その他 | カスタム API 要求パラメーターを選択します。

  13. カスタム API の場合は、検索アイコンを選択し、一致 (カスタム API) を選択します。

  14. 一意の名前、名前、表示名、説明には、わかりやすくするため StringIn を入力します。

  15. タイプに文字列を選択します。

  16. 保存して閉じるを選択します。

  17. 完了を選択します。

  18. 手順 13 ~ 18 を繰り返し、パターンという名前のカスタム API 要求パラメーターをもう 1 つ追加します。

  19. 新規 | その他 | その他 | カスタム API 応答プロパティを選択します。

  20. カスタム API の場合は、検索アイコンを選択し、一致 (カスタム API) を選択します。

  21. 一意の名前名前、表示名説明には、わかりやすくするため一致を入力します。

  22. タイプブール値を選択します。

  23. 保存して閉じるを選択します。

  24. ソリューション コンポーネント リストは以下のようになります。

    すべての API と要求および応答のパラメーターを作成した後のソリューションのコンポーネントを示すスクリーンショット。

タスク 4: Power Automate のカスタム API を使用する

  1. ソリューションで、+ 新規 | 自動化 | クラウド フロー | インスタントを選択します。

    インスタント クラウド フローの作成ボタンを示すスクリーンショット。

  2. フロー名に文字列の一致と入力し、手動でフローをトリガーしますトリガーを選択して作成を選択します。

  3. + 新しいステップを選択します。

  4. 実行を検索して、バインドされていないアクションを実行するを選択します。

    バインドされていないアクションを実行するを選んでいる様子を示すスクリーンショット。

  5. アクション名リストで contoso_match を探し、選択します。

  6. StringIn には、任意の有効なメールアドレスを入力してください。

  7. パターンに以下の正規表現を入力します。 これは単純なメール パターンです。 他のを使用できます。

    ^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$

  8. これで、フローは以下のようになります。

    トリガーとバインドされていないアクション ステップ実行を含むフローを示すスクリーンショット。

  9. 保存を選択します。

  10. 保存が完了したら、テストを選択します。

  11. 手動を選択して、テストを選択します。

  12. フローの実行を選択します。

  13. 完了を選択します。

  14. フローが完了したら、バインドされていないアクションを実行するを選択して展開し、結果を確認します。

    フローの実行結果を示すスクリーンショット。

これで、カスタム アクションの構築と、それの Power Automate フローからの使用が完了しました。 カスタム API アクション contoso_match は、プラットフォーム API を使って直接呼び出すこともできるようになりました。