# レコードの変更を監視する - Salesforce の新しい Change Data Capture イベント
このトリガーは、Salesforce のオブジェクトの変更を監視し、それに応じてイベント通知を受け取ります。オブジェクトのリアルタイムな監視とワークフロー間の簡単なデータレプリケーションが可能です。変更データキャプチャを使用すると、外部システムをSalesforceと同期させることができ、フィールドの変更やイベントの種類に基づいて特定のアクションを実行することもできます。
特に、このリアルタイムトリガーはSalesforceでの追加のセットアップは必要ありません。Workato内からすぐに始めることができます。
# 入力フィールド
フィールド名 | 説明 |
---|---|
オブジェクト | 監視するオブジェクトを選択します。Salesforceでは、一部の標準オブジェクトとすべてのカスタムオブジェクトがサポートされています。詳しいリストはこちら (opens new window)をご覧ください。 |
変更の監視 | オブジェクトの変更を監視する操作です。デフォルトで変更イベントの本文に返されるフィールドは、イベントを生成した操作の種類に影響を受けます。 |
取得するフィールド | この特定のオブジェクトのイベント通知に常に含まれるようにする追加の最大10個のフィールドを選択します。 |
監視するフィールド | 変更を監視するフィールドです。これは更新操作にのみ関係します。他の操作では、ここで選択されたフィールドに関係なく、イベント通知が中継されます。 |
# 出力フィールド
フィールド名 | 説明 | |
---|---|---|
Replay ID | イベント通知のシーケンスを示す番号です。ただし、バルク編集から生成された通知の場合、この番号は一意ではありません。 | |
Change event header | Commit number | コミットされたトランザクションのシステム変更番号(SCN)。このフィールドは診断目的で提供されます。Salesforceでは、このフィールドの値が一意であることは保証されていません。単一のデータベースインスタンス内でのみ一意です。Salesforce組織が別のデータベースインスタンスに移行する場合、コミット番号は一意または連続ではない場合があります。 |
Commit user | 変更操作を実行したユーザーのIDです。 | |
Sequence number | トランザクション内の変更のシーケンスです。シーケンス番号は1から始まります。リード変換は、複数の変更を持つトランザクションの例です。リード変換は、同じトランザクション内の一連の変更をもたらします。詳細については、リード変換のための変更イベントを参照してください。 | |
Entity name | 変更イベントが生成されたオブジェクトのAPI名です。 | |
Change type | 変更を引き起こした操作です。次の値のいずれかになります:
| |
Changed fields | UPDATE操作で変更されたフィールドのリストです。このフィールドは、他の操作(レコード作成など)では空です。 | |
Change origin | このフィールドは、APIアプリやLightning Experienceによって行われた変更の場合にのみ入力されます。それ以外の場合は空です。クライアントが設定した場合、Salesforce APIとAPIクライアントIDを返します。 | |
Transaction key | 各Salesforceトランザクションを一意に識別する文字列です。このキーを使用して、同じトランザクションで行われたすべての変更を識別してグループ化することができます。 | |
Commit timestamp | 変更が発生した日時。1970年1月1日00:00:00 GMTからのミリ秒数で表されます。 | |
Record ID | 単一のレコードIDが含まれています。 1つのトランザクションで同じ変更が行われた場合、同じ変更が複数回通知されることがあります。 |
# Permissions
このトリガーが正常に動作するためには、以下の権限が有効になっている必要があります:
- フローの管理
- フローのユーザー
- アプリケーションのカスタマイズ
変更イベントを受け取るための対象 | 必要な権限 |
---|---|
特定の標準またはカスタムオブジェクト | オブジェクトの「すべて表示」 |
ユーザー | すべてのユーザーを表示 |
タスクやイベントなどの「すべて表示」権限がない標準オブジェクト | すべてのデータを表示 |
なお、イベント通知はフィールドレベルのセキュリティ設定にリンクしています。配信されるイベントには、購読ユーザーが表示を許可されているフィールドのみが含まれます。ユーザーがフィールドにアクセス権限を持っていない場合、そのフィールドは受信される変更イベントメッセージに含まれません。
詳細はこちら (opens new window)をご覧ください。
# 制限事項
- Salesforceでは、最大5つの異なるオブジェクトの監視が許可されています。それ以上の場合は、アドオンライセンスが必要です。詳細はこちら (opens new window)をご覧ください。つまり、同じオブジェクトを監視する複数のレシピ(最大100個)を持つことができますが、すべてのレシピで監視できるオブジェクトは最大5つです。
- Salesforceが公開できるイベントメッセージの最大サイズは1 MBです。エンティティにカスタムフィールドが数百個あるか、長いテキストエリアフィールドが多数ある場合、この制限に達する可能性があります。
- 24時間以内のイベント通知の最大数は、エンタープライズエディションでは25,000件、パフォーマンスエディションおよびアンリミテッドエディションでは50,000件です。
詳細な情報はこちら (opens new window)をご覧ください。
1. Salesforceの変更データキャプチャ通知では、同じ編集が複数のレコードに対して一括で行われた場合、イベントメッセージはグループ化されます。その場合、単一の通知イベントに対して単一のジョブを受け取ることになりますか?
使いやすさを向上させるために、これらのイベントの処理方法を変更し、単一のレコードと複数のレコードを別々に処理する必要がないようにしました。ユーザーは各ジョブが単一のレコードに関する詳細のみを含むことを確実に期待することができます。この区切りはWorkatoによって行われたため、引き続き同じSalesforceのreplayIdを含んでいます。
Last updated: 2024/2/13 16:59:53