Instiq
第5章 · 統合開発·v1.0.0·更新 2026/6/30·読了目安 約13分

変更要約: PL-400 第5章を新規作成し参考書を完結(ドメイン: 統合開発)。Dataverse イベントの発行と消費(IServiceEndpointNotificationService・Plug-in Registration Tool での webhook 登録・Azure Service Bus キュー/トピック・Azure Event Hub・リスニング選択肢の使い分け)、Dataverse とのデータ同期(変更追跡 change tracking の差分取得・代替キー alternate keys・UpsertRequest メッセージ)。

5.1Dataverse イベントの発行と消費

この節の要点

IServiceEndpointNotificationService によるイベント発行、Plug-in Registration Tool での webhook 登録、Azure Service Bus と Azure Event Hub、リスニング選択肢の使い分けを理解します。

Dataverse の変更を 外部システムへ疎結合に伝える ことで、スケーラブルな統合を実現します。送り先と方式の選択が要点です。

5.1.1イベントの発行(webhook と Azure メッセージング)

Dataverse のイベントは IServiceEndpointNotificationService でサービスエンドポイントへ送れます。送信先は Plug-in Registration Toolwebhook(任意の HTTP エンドポイントへ POST・同期/非同期)、Azure Service Bus(キュー/トピックで 疎結合・信頼性の高い非同期メッセージング)、Azure Event Hub高スループットのイベントストリーム/テレメトリ向け)として登録します。リアルタイム HTTP なら webhook、信頼性メッセージングなら Service Bus、大量ストリームなら Event Hub、と使い分けます。

5.1.2Service Bus のキューとトピック

Azure Service Bus では キュー(1 対 1・1 つの受信側が順に処理)と トピック/サブスクリプション(pub-sub・複数の購読者が同じメッセージを受信)を使い分けます。Dataverse からのイベントを Service Bus に置けば、受信側が落ちていても メッセージが保持され後で処理 できる信頼性が得られます。Event Hub は順序保証より スループット を重視するストリーム用途です。

試験ポイント

決め手:「イベントを発行する」=IServiceEndpointNotificationService。「任意のHTTPエンドポイントへPOST」=webhook。「疎結合で信頼性の高い非同期メッセージング」=Azure Service Bus。「高スループットのイベントストリーム/テレメトリ」=Azure Event Hub。「1対1」=キュー、「pub-sub」=トピック。登録はPlug-in Registration Tool。

注意

混同に注意:
①webhook(HTTP直接)とService Bus(キュー/トピック)とEvent Hub(ストリーム)を取り違えない。
②Service Bus=信頼性メッセージング/Event Hub=高スループットストリームで用途が違う。
③キュー(1対1)とトピック(pub-sub)を区別。
④登録はPlug-in Registration Toolで行う。

IServiceEndpointNotificationServiceでイベントを発行し、Plug-in Registration Toolで送信先を登録=webhook(任意HTTPへPOST・リアルタイム)/Azure Service Bus(疎結合で信頼性の高い非同期メッセージング・キュー1対1/トピックpub-sub・受信側が落ちてもメッセージ保持)/Azure Event Hub(高スループットのイベントストリーム・テレメトリ向け)。用途でリスニング先を使い分ける図。
疎結合に伝える

5.1.3この節のまとめ

  • IServiceEndpointNotificationServiceで発行・webhook/Service Bus/Event Hubへ
  • Service Bus=信頼性メッセージング(キュー1対1/トピックpub-sub)・Event Hub=高スループットストリーム
  • 登録はPlug-in Registration Tool・用途でリスニング先を選ぶ

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

理解度チェック

(軽い確認用)

Q1. Dataverse のイベントを、受信側が一時的に落ちていてもメッセージを保持して後で処理できる、疎結合で信頼性の高い非同期メッセージングに送りたい。最適なのはどれですか?

Q2. Dataverse の変更を任意の HTTP エンドポイントへリアルタイムに POST したい。最適なのはどれですか?

Q3. 大量のイベントを高スループットでストリームとして取り込み、テレメトリ分析に流したい。最適なのはどれですか?

Q4. Dataverse からサービスエンドポイント(Service Bus 等)へイベントを発行するために使うサービスはどれですか?

Q5. Azure Service Bus のキューとトピックの違いとして正しいのはどれですか?

理解度を確認第5章「統合開発」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。