CometD によるプラットフォームイベント通知の登録
Salesforce はプラットフォームイベントを、受信した順序で CometD クライアントに順次送信します。イベント通知の順序はイベントの再実行 ID に基づきます。CometD クライアントはイベントのバッチを一度に受信できます。イベントメッセージの数はバッチによって異なる可能性があります。クライアントが受信したイベントにバッファを使用する場合、バッファのサイズがバッチ内のすべてのイベントメッセージを保持するのに十分な大きさであることを確認してください。必要なバッファサイズは、公開率とイベントメッセージのサイズによって異なります。バッファサイズは最低でも 10 MB に設定し、必要に応じてそれ以上に調整してください。
CometD を使用してプラットフォームイベント通知を登録するプロセスは、PushTopic または汎用イベントの登録に似ています。唯一の違いはチャネル名です。プラットフォームイベントのチャネル名は大文字と小文字が区別され、次の形式になります。
1/event/Event_Name__eカスタムチャネルへ登録するには、この形式を使用してください。
1/event/Channel_Name__chnAPI バージョンを追加した次の CometD エンドポイントを使用します。
1/cometd/60.0例
「Low Ink (低インクレベル)」という名前のプラットフォームイベントがある場合、登録時に次のチャネル名を指定します。
1/event/Low_Ink__e配信されるプラットフォームイベントのメッセージは、次の [Low Ink (低インクレベル)] イベントの例に似ています。
1{
2 "data": {
3 "schema": "dffQ2QLzDNHqwB8_sHMxdA",
4 "payload": {
5 "CreatedDate": "2017-04-09T18:31:40.517Z",
6 "CreatedById": "005D0000001cSZs",
7 "Printer_Model__c": "XZO-5",
8 "Serial_Number__c": "12345",
9 "Ink_Percentage__c": 0.2
10 },
11 "event": {
12 "EventUuid": "2ec0e371-1395-457f-9275-be1b527a72f7",
13 "replayId": 2
14 }
15 },
16 "channel": "/event/Low_Ink__e"
17}イベントメッセージの schema 項目には、プラットフォームイベントスキーマの ID が含まれます。スキーマはバージョン管理されます。つまり、スキーマが変わると、そのスキーマ ID も変わります。イベントスキーマの取得方法の詳細は、「イベントスキーマの取得」を参照してください。
EMP コネクタを使用して、配信されたイベントを受信できます。このコネクタはあらゆる種別のストリーミングイベントを登録し、イベントチャネル名を引数として受け入れます。「例: Java クライアント (EMP コネクタ) と IDE を使用したイベントの登録」を参照してください。
カスタムロジックをクライアントに追加して、プラットフォームイベント通知の受信後に何らかの操作を実行します。たとえば、このプリンターモデルの新しいカートリッジを注文するための要求をクライアントで作成できます。