Salesforce 認定 Platform Data アーキテクト 無料問題 6 / 10 ・ 分野3: Salesforce データ管理
Change Data Capture の購読アプリが、保守のために5日間止まっていた。再開するとき、止まっていた間の変更を取りこぼしたくない。Change Data Capture Developer Guide(Spring '23)の「Change Event Storage and Delivery」に照らして合うものはどれか。
- 最後に処理した Replay ID から読み直せば、止まっていた5日分の変更イベントを受け取れる
- 止まっていた間の変更は、再開した時点で Salesforce が新しいイベントとして作り直す
- 保持は3日なので Replay ID で取れるのは3日分までで、それより前は全件の照合で補う
- Replay ID は購読し直すと振り直されるので、再開後は最新から受け取るほかない
正解と解説を見る
正解: C
正解の理由
Change Data Capture Developer Guide(Spring '23)の Change Event Storage and Delivery は、変更イベントは一時的に保持され、購読者は保持の期間のうちに取り出せると書く。変更イベントのメッセージはイベントバスに3日間保持され、各メッセージの ReplayId で、あるイベントの後から流れを読み直せる。イベントは、Salesforce で取引が確定した順に保持され、Replay ID の順に購読者へ届く。3日を超えて止まったときは、Replay ID で読み直せない期間が残るので、写しの照合で補う。
違う選択肢
「最後に処理した Replay ID から読み直せば、止まっていた5日分の変更イベントを受け取れる」… ガイドは、変更イベントがイベントバスに保持されるのは3日だと書く。止まってから3日を超えた分は、Replay ID で読み直せない。
「止まっていた間の変更は、再開した時点で Salesforce が新しいイベントとして作り直す」… ガイドに、購読を再開したときに過去の変更のイベントを作り直す動きは書かれていない。
「Replay ID は購読し直すと振り直されるので、再開後は最新から受け取るほかない」… ガイドは、Replay ID はイベントの流れの中のイベントを表し、ある時点の後から流れを読み直すのに使えると書く。
押さえどころ
イベントで同期する設計では、受ける側が止まってよい長さに上限がある。上限を超えたときに全件を照合し直す手順を、最初から用意しておく。