Instiq
第3章 · プラットフォーム拡張:プラグイン·v1.0.0·更新 2026/6/29·読了目安 約12分

変更要約: PL-400 第3章を新規作成(ドメイン: プラットフォーム拡張の前半=プラグイン)。Dataverse プラグイン(実行パイプラインのステージ pre-validation/pre-operation/post-operation・同期/非同期・実行コンテキスト IPluginExecutionContext・Pre/Post Image・Organization service CRUD・sandbox/性能・Plug-in Registration Tool)、カスタム API とビジネスイベント(custom API message bound/unbound・Dataverse business events・プラグイン実装)。

3.2カスタム API とビジネスイベント

この節の要点

custom API メッセージ(bound/unbound)、Dataverse business events、登録と公開、プラグインからの呼び出しを理解します。

繰り返し使うサーバー操作は custom API として 独自メッセージ にまとめ、複数のクライアント/プラグインから再利用します。

3.2.1custom API と bound/unbound

custom API再利用可能な独自の操作(メッセージ) を Dataverse に定義し、入力/出力パラメーターを宣言してプラグインで実装します。特定テーブルに紐づく bound(そのテーブルのレコードに対する操作)と、テーブルに依存しない unbound(グローバルな操作)を選べます。外部 REST API を取り込む カスタムコネクタとは別物(custom API はサーバー内の独自操作)です。

3.2.2Dataverse business events

Dataverse business events は業務上の出来事(例: 注文確定)を イベントとして発行し、購読側がそれに反応できる仕組みです。CRUD のテーブル操作イベントと違い、ビジネス意味のあるイベント を定義/公開できます。custom API と組み合わせて拡張的なロジックを構成します。

試験ポイント

決め手:「再利用可能なサーバー内独自操作」=custom API。「特定テーブルに紐づく」=bound、「テーブル非依存のグローバル」=unbound。「業務上の出来事をイベント発行」=Dataverse business events。custom API(独自メッセージ)とカスタムコネクタ(外部API取込)は別物。

注意

混同に注意:
①custom API(サーバー内の独自メッセージ)とカスタムコネクタ(外部API取込)を取り違えない。
②bound(テーブル紐付け)とunbound(グローバル)を区別。
③business events(業務イベント)とCRUDテーブルイベントは別。
④custom APIの実装はプラグイン。

custom API=Dataverse内の再利用可能な独自操作(メッセージ)で、特定テーブルに紐づくbound/テーブル非依存のunboundを選べる。プラグインで実装。Dataverse business eventsは「注文確定」のような業務上の出来事をイベントとして発行し購読側が反応できる(CRUDテーブルイベントと別)。custom API(サーバー内)とカスタムコネクタ(外部API取込)を区別する図。
独自操作とイベント

3.2.3この節のまとめ

  • custom API=再利用可能な独自メッセージ・bound(テーブル)/unbound(グローバル)
  • Dataverse business eventsで業務上の出来事をイベント発行
  • custom APIはプラグインで実装・カスタムコネクタとは別物

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. Dataverse 上で再利用可能な独自の操作(メッセージ)を定義し、複数のクライアントやプラグインから呼べるようにしたい。最適なのはどれですか?

Q2. 特定のテーブルのレコードに対して実行する custom API を定義したい。種別はどれですか?

Q3. 特定のテーブルに依存しないグローバルな custom API を定義したい。種別はどれですか?

Q4. 「注文確定」のような業務上の出来事をイベントとして発行し、購読側が反応できるようにしたい。最適なのはどれですか?

Q5. custom API とカスタムコネクタの違いとして正しいのはどれですか?

理解度を確認第3章「プラットフォーム拡張:プラグイン」の問題を解く