#プラットフォームイベントとは
Salesforceにおけるプラットフォームイベントは、イベントを起こしてイベント駆動型プログラミングモデルを使用してプロセスを自動化することができます。
もっと具体的にいうと、イベント公開のタイミングでトリガやプロセスなどを起動させる仕組みのことですね。
イベントを起こして何かを実行させるという点ではトリガに近い動作ができますが、大量件数を裁くことができ効率的に実行することができるのが特徴です。
#カスタムオブジェクトとの相違点
使い慣れているカスタムオブジェクトとプラットフォームイベントについて異なる点を簡単にまとめました。
- API名が「__e」で終わる
- 公開動作が指定できる
- レコードに保存期間がある(72時間)
- SOQLで取得ができない
- レコードやビューの表示ができない
- イベントの管理(一時停止、再開)ができる
以上の特徴から、以下のケースの場合にプラットフォームイベントを活用すべきところでしょうか。
- データ量を圧迫させたくない
- エラー時を含めたイベント処理を実施したい場合
- 外部システムとの連携
#プラットフォームの定義
[設定]→[プラットフォームイベント]から登録します。
カスタムオブジェクトを作成する感覚で、ラベル名、オブジェクト名を設定します。
公開動作の設定は以下の2つのいずれかを選択します。
-
コミット後に公開:
トランザクションが正常終了した時にイベントメッセージが公開されます。
従来のオブジェクトレコードと同じような動作かな。 -
すぐに公開:
トランザクションの成功有無に関わらずイベントメッセージを公開します。
プラットフォームイベント作成後は従来のカスタムオブジェクトと同様にカスタム項目を作成していきます。
作成可能なカスタム項目のデータ型はカスタムオブジェクトとは異なり、以下のものに制限されています。
いわゆるプリミティブ型と言われているものですね。
- テキスト
- ロングテキストエリア
- 数値
- 日付
- 日付/時間
ここで定義する項目はイベントを公開した時にどんな情報が欲しいかを定義するためのもので、イベント受信側はその情報をもとに適切なイベント処理を行うことになります。
プラットフォームイベントの定義ができたところで、次回はプラットフォームイベントを公開する方法について記載していきたいと思います。