5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SalesforceのStreaming API使い分け

Last updated at Posted at 2021-12-01

#Streaming APIとは
Salesforceでは、何らかのイベント(データ変更、画面操作等)が発生したタイミングでプッシュ技術を使用してSubscriber(他システム、他処理等)に対して通知を行う機能があります。これをStreaming APIと呼びます。

Streaming APIには以下の4種類が存在しています。

  1. 変更データキャプチャイベント
  2. PushTopic イベント
  3. プラットフォームイベント
  4. 汎用イベント

#Streaming API選定方法
とても便利なStreaming APIですが、上記の4種類のうちどれを選定するかはよく考えなければなりません。
選定の基準が複雑なので、まとめてみました。

# 機能 主なユースケース ユースケースの例 イベントの契機 送られるデータ 特殊能力 イベント保持期間
1 変更データキャプチャ SFDCから他システムへのデータ同期 「取引先」オブジェクトにレコードを挿入すると、自動的にDWHやERPにデータを連携する。 レコードの変更 レコードの全項目 ①対象オブジェクトの全レコードを取得できる。(その代わり"すべて参照"権限が必要であるため一般ユーザ向けではなく、システム間のデータ複製に使われることが多い)
②イベントに対するトリガを作れる
3日
2 PushTopic DBのレコードが更新されたタイミングで画面の表示を更新する LWCに「他ユーザがレコードを更新しました。画面をリロードしますか?」と表示する。 レコードの変更 レコードの指定された項目 ①対象オブジェクトの一部レコードをSOQLで指定して取得できる。
②取得するユーザごとにレコード共有が反映される。(よって"すべて参照"権限は不要となるため、一般ユーザの画面表示に使える。)
1日
3 プラットフォームイベント Fire and forget形式のシステム連携 契約に必要なデータ一式がSFDCに登録された時点で、カスタムプラットフォームイベントを公開する。ESB(もしくはSalesforceのApex/Flow)がそれをSubscribeしており、イベントを契機として当該データ一式をバックエンドに流す。 任意のタイミング(Apex, Flow, Process Builder, API) 事前定義した型に従って自由に設定可能(複数オブジェクトの情報を入れることや文字列加工も可能) ①同じイベントを全Subscriberに公開できる。
②イベントに対するトリガを作れる
1日または3日
※大規模プラットフォームイベントは最大 3 日間保持される
4 汎用イベント ユーザを指定した通知 Aさんにお勧めなパンフレット(PDF)がアップロードされたタイミングで、Aさんの端末がそのことを検知し、バックグラウンドで予めダウンロードしておく。 任意のタイミング(API) 自由に設定可能(複数オブジェクトの情報を入れることや文字列加工も可能) ①特定のユーザに公開できる。 1日

#参考ページ
ストリーミングイベント機能 | ストリーミング API 開発者ガイド

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?