この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

CometD によるプラットフォームイベント通知の登録

CometD を使用して、外部クライアントでプラットフォームイベントを登録します。独自の CometD クライアントを実装するか EMP コネクタを使用します。EMP コネクタはオープンソースのコミュニティサポートツールであり、CometD への登録およびチャネルのリスンに関するすべての詳細を実装します。

Salesforce はプラットフォームイベントを、受信した順序で CometD クライアントに順次送信します。イベント通知の順序はイベントの再実行 ID に基づきます。CometD クライアントはイベントのバッチを一度に受信できます。イベントメッセージの数はバッチによって異なる可能性があります。クライアントが受信したイベントにバッファを使用する場合、バッファのサイズがバッチ内のすべてのイベントメッセージを保���するのに十分な大きさであることを確認してください。必要なバッファサイズは、公開率とイベントメッセージのサイズによって異なります。バッファサイズは最低でも 10 MB に設定し、必要に応じてそれ以上に調整してください。

CometD を使用してプラットフォームイベント通知を登録するプロセスは、PushTopic または汎用イベントの登録に似ています。唯一の違いはチャネル名です。プラットフォームイベントのチャネル名は大文字と小文字が区別され、次の形式になります。

1/event/Event_Name__e

API バージョンを追加した次の CometD エンドポイントを使用します。

1/cometd/53.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 も変わります。

イベントのスキーマが変わったかどうかを確認するには、REST API を使用してスキーマを取得します。スキーマ ID を使用するには、REST API リソース /services/data/vXX.X/event/eventSchema/schemaId に対して GET 要求を実行します。または、イベント名をエンドポイント /services/data/vXX.X/sobjects/eventName/eventSchema に指定して、イベントスキーマを取得することもできます。詳細は、以下を参照してください。

EMP コネクタを使用して、配信されたイベントを受信できます。このコネクタはあらゆる種別のストリーミングイベントを登録し、イベントチャネル名を引数として受け入れます。「例: Java クライアントを使用した登録とイベントの再生 (EMP コネクタ)」を参照してください。

カスタムロジックをクライアントに追加して、プラットフォームイベント通知の受信後に何らかの操作を実行します。たとえば、このプリンタモデルの新しいカートリッジを注文するための要求をクライアントで作成できます。