演習 - カスタム API を作成する
この演習では、いくつかのカスタムロジックを実行する Dataverse カスタム API を構築します。 その後、Power Automate フローのステップからカスタム API を使用します。
重要
Microsoft Dataverse がプロビジョニングされているテスト環境を使用してください。 テスト環境がない場合は、コミュニティ プランに新規登録できます。
タスク 1: カスタム API プロジェクトを作成する
Power Platform CLI をダウンロードしてインストールします。
powerapps-cli ファイルを実行してインストールを開始します。
セットアップ ウィザードを使用して設定を完了し、完了を選択します。
コマンド プロンプトを開きます。
次のコマンドを実行して、CustomAPILab という名前の新しいフォルダーを作成します。
md CustomAPILab
ディレクトリを作成したフォルダーに変更します。
cd CustomAPILab
CustomAPIlAB フォルダーが表示されます。 新しい Dataverse プラグイン クラス ライブラリを初期化するには、次のコマンドを実行します。
pac plugin init
Dataverse プラグイン クラス ライブラリが正常に作成されます。
次のコマンドを実行して、Visual Studio でプロジェクトを開きます。
start CustomAPILab.csproj
Visual Studio でプロジェクトが開きます。
Plugin1.cs ファイルを右クリックして名前を MatchPlugin.cs に変更します。
ファイルの名前を変更するダイアログではいを選択します。
CustomAPILab プロジェクト内の参照を右クリックし、NuGet パッケージの管理を選択します。
System.Text.RegularExpressions を検索し、インストールを選択します。
MatchPlugin.cs ファイルを開きます。
次のステートメントを追加します。
using System.Text.RegularExpressions;
ExecuteDataversePlugin メソッド内と、VAR コンテキスト行の後に次の行を追加します。 これらの行は、カスタム API の呼び出しで渡された入力パラメーターから値を取得します。
string input = (string)context.InputParameters["StringIn"];
string pattern = (string)context.InputParameters["Pattern"];
トレース サービスを取得するために、次の行を後に追加します。
ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));
入力値をトレースに書き込むために、下の行を追加します。
tracingService.Trace("Provided input: " + input);
Regex.Match メソッドを呼び出すために、次の行を後に追加します。
var result = Regex.Match(input, pattern);
結果をトレースに書き込みます。
tracingService.Trace("Matching result: " + result.Success);
そして最後に、次の行を追加して、出力パラメーター [一致] を設定します。
context.OutputParameters["Matched"] = result.Success;
これで、実行メソッドは以下のようになります。
ビルド > ビルド ソリューションを選択します。
プロジェクトが正常に構築されます。
タスク 2: カスタム API プラグインを登録する
コマンド プロンプトを開いて、下のコマンドを実行して Plugin Registration Tool を起動します。
pac tool prt
+ 新しい接続の作成を選択します。
Office 365 を選択し、資格情報を入力して、ログインを選択します。
正しい環境を選択します。
登録 | 新規アセンブリ登録を選択します。
[...] を選択し、CustomAPILab\bin\Debug\net462 フォルダーを参照します。
CustomAPILab.dll を選択します。
OK を選択します。
選択したプラグインの登録を選択します。
成功メッセージの OK を選択します。 プラグインは、次のタスクで作成するカスタム API に接続する準備ができています。
タスク 3: カスタム API を作成する
Power Apps Maker Portal に移動して、正しい環境にいることを確認します。
左側のナビゲーションでソリューションを選択します。
+ 新しいソリューションを選択します。
表示名にカスタム API ラボと入力します。
公開元のドロップダウンで CDS Default Publisher を選択します。
作成を選択します。 これにより、ここで作成したコンポーネントを含むカスタム ソリューションが作成されます。
+ 新規 | その他 | その他 | カスタム API を選択します。
次の情報を入力してください。
一意の名前: contoso_match
名前: 一致
表示名: 一致
説明: 文字列を一致させる
バインド タイプ: グローバル
プラグインのタイプで検索アイコンを選択して、お使いのプラグインを探します。
保存して閉じるを選択します。
完了を選択します。
+ 新規 | その他 | その他 | カスタム API 要求パラメーターを選択します。
カスタム API の場合は、検索アイコンを選択し、一致 (カスタム API) を選択します。
一意の名前、名前、表示名、説明には、わかりやすくするため StringIn を入力します。
タイプに文字列を選択します。
保存して閉じるを選択します。
完了を選択します。
手順 13 ~ 18 を繰り返し、パターンという名前のカスタム API 要求パラメーターをもう 1 つ追加します。
新規 | その他 | その他 | カスタム API 応答プロパティを選択します。
カスタム API の場合は、検索アイコンを選択し、一致 (カスタム API) を選択します。
一意の名前、名前、表示名、説明には、わかりやすくするため一致を入力します。
タイプでブール値を選択します。
保存して閉じるを選択します。
ソリューション コンポーネント リストは以下のようになります。
タスク 4: Power Automate のカスタム API を使用する
ソリューションで、+ 新規 | 自動化 | クラウド フロー | インスタントを選択します。
フロー名に文字列の一致と入力し、手動でフローをトリガーしますトリガーを選択して作成を選択します。
+ 新しいステップを選択します。
実行を検索して、バインドされていないアクションを実行するを選択します。
アクション名リストで contoso_match を探し、選択します。
StringIn には、任意の有効なメールアドレスを入力してください。
パターンに以下の正規表現を入力します。 これは単純なメール パターンです。 他の例を使用できます。
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$
これで、フローは以下のようになります。
保存を選択します。
保存が完了したら、テストを選択します。
手動を選択して、テストを選択します。
フローの実行を選択します。
完了を選択します。
フローが完了したら、バインドされていないアクションを実行するを選択して展開し、結果を確認します。
これで、カスタム アクションの構築と、それの Power Automate フローからの使用が完了しました。 カスタム API アクション contoso_match は、プラットフォーム API を使って直接呼び出すこともできるようになりました。