汎用ストリーミングの概要
- 特定のチームまたは組織全体に通知を送信する
- Salesforce の外部で発生するイベントの通知を送信する
- チャネルを定義する StreamingChannel (大文字と小文字を区別する名前)
- チャネルに登録された 1 つ以上のクライアント
- チャネルの転送イベントを監視および呼び出すことができる Streaming Channel Push REST API リソース
デュラブル汎用ストリーミングを使用した汎用ストリーミングイベントの再生
登録者は、保管期間内や特定のイベント後のすべてのイベントなど、受信するイベントを選択できます。デフォルトでは、登録後に送信された新規イベントのみを受信します。ストリーミング API では、イベントフレームワークを使用してイベントプロデューサをイベントコンシューマから分離します。そのため登録者は、送信時にイベントをリスンするだけではなく、いつでもイベントを取得できます。イベントは 24 時間の保管期間を過ぎると破棄されます。
API バージョン
イベントの再生は、API バージョン 36.0 以降でサポートされています。
イベント採番
各ブロードキャストイベントには、数値の ID が割り当てられます。ID は順次増分されますが、連続するイベントに連番が振られるという保証はありません。たとえば、ID 999 のイベントの次のイベントの ID が 1,025 になることもあり得ます。ただし、各 ID がその前のイベントの ID よりも大きいことは保証されます。ID は組織およびチャネルで一意です。削除されたイベントの ID は再利用されません。
ID は、通知メッセージの replayId 項目に追加されます。たとえば、次の JSON メッセージはイベントオブジェクトの replayId 項目を示します。
1{
2 "clientId":"a1ps4wpe52qytvcvbsko09tapc",
3 "data":{
4 "event":{
5 "createdDate":"2015-11-13T19:05:28.334Z",
6 "replayId":55
7 },
8 "payload":"This is a message."
9 },
10 "channel":"/u/TestStreaming"
11}イベントの再生
次の図は、イベントのストリームの概要と、イベントコンシューマがさまざまな再生オプションを使用してイベントを読み取る方法を示しています。
| 再生オプション | 説明 |
|---|---|
| 再生 ID | 登録者は、replayId 値で指定されたイベント後のすべてのイベントを受信します。 |
| -1 | 登録者は、クライアントの登録後にブロードキャストされた新規イベントを受信します。 |
| -2 | 登録者は、すべてのイベントを受信します。これには、24 時間の保管期間内の過去のイベントと、登録後に送信された新規イベントが含まれます。 |
イベントを再生するには、次のエンドポイントを使用します。
1https://Salesforce_Instance/cometd/replay/36.0/1// Register streaming v2 extension
2var replayExtension = new cometdReplayExtension();
3replayExtension.setChannel(<Streaming Channel to Subscribe to>);
4replayExtension.setReplay(<Event Replay Option>);
5cometd.registerExtension('myReplayExtensionName', replayExtension);拡張に対して setReplay() 関数をコールすると、その後で登録者が受信するイベントは setReplay() に渡された再生値パラメータに依存します。
コードサンプル
汎用ストリーミングイベントの再生方法のコードサンプルは、「例: Visualforce ページを使用した汎用ストリーミングイベントの再生」を参照してください。