Newer Version Available
EventBus クラス
名前空間
EventBus のメソッド
EventBus のメソッドは次のとおりです。すべてのメソッドが静的です。
getOperationId(result)
署名
public static String getOperationId(Object result)
パラメータ
- result
- 型: Object
- EventBus.publish コールによって返される SaveResult。
戻り値
型: String
publish(event)
署名
public static Database.SaveResult publish(SObject event)
パラメータ
- event
- 型: SObject
- プラットフォームイベントのインスタンス。たとえば、MyEvent__e のインスタンスなどです。最初に組織でプラットフォームイベントオブジェクトを定義する必要があります。
戻り値
指定されたイベントの公開結果。Database.SaveResult には、操作の成功とエラーの発生に関する情報が含まれます。isSuccess() メソッドが true を返す場合、標準イベントのイベントが公開されています。大規模イベントの場合、公開要求が Salesforce のキューに入れられ、イベントメッセージがすぐに公開されないことがあります。詳細は、「大規模プラットフォームイベントの保持」を参照してください。isSuccess() が false を返す場合、イベント公開操作でエラーが発生しており、エラーは Database.Error オブジェクトに返されています。このメソッドは、公開操作の失敗による例外を発生させません。
Database.SaveResult には、Id システム項目も含まれます。Id 項目値は、登録者に配信されるイベントメッセージには含まれません。これは、イベントメッセージの識別に使用されず、必ずしも一意ではありません。
使用方法
- プラットフォームイベントメッセージは、プラットフォームイベント定義で設定した公開動作に応じて、ただちに、またはトランザクションがコミットされた後に公開されます。詳細は、『プラットフォームイベント開発者ガイド��の「プラットフォームイベント項目」を参照してください。
- DML 制限を含む Apex ガバナ制限が適用されます。各メソッドの実行は、1 つの DML ステートメントとしてカウントされます。
publish(events)
署名
public static List<Database.SaveResult> publish(List<SObject> events)
パラメータ
- events
- 型: List<sObject>
- プラットフォームイベントインスタンスのリスト。たとえば、MyEvent__e オブジェクトのリストなどです。最初に組織でプラットフォームイベントオブジェクトを定義する必要があります。
戻り値
型: List<Database.SaveResult>
それぞれが 1 つのイベントの公開結果に対応する、結果のリスト。各イベントの Database.SaveResult には、操作の成功とエラーの発生に関する情報が含まれます。isSuccess() メソッドが true を返す場合、標準イベントのイベントが公開されています。大規模イベントの場合、公開要求が Salesforce のキューに入れられ、イベントメッセージがすぐに公開されないことがあります。詳細は、「大規模プラットフォームイベントの保持」を参照してください。isSuccess() が false を返す場合、イベント公開操作でエラーが発生しており、エラーは Database.Error オブジェクトに返されています。EventBus.publish() は、渡されたイベントを、エラーで公開できないものを除いて部分的に公開できます。EventBus.publish() メソッドは、失敗した公開操作による例外を発生させません。これは、Apex の Database.insert メソッドが部分的な完了オプションを指定してコールされたときの動作に似ています。
Database.SaveResult には、Id システム項目も含まれます。Id 項目値は、登録者に配信されるイベントメッセージには含まれません。これは、イベントメッセージの識別に使用されず、必ずしも一意ではありません。
使用方法
- プラットフォームイベントメッセージは、プラットフォームイベント定義で設定した公開動作に応じて、ただちに、またはトランザクションがコミットされた後に公開されます。詳細は、『プラットフォームイベント開発者ガイド』の「プラットフォームイベント項目」を参照してください。
- DML 制限を含む Apex ガバナ制限が適用されます。各メソッドの実行は、1 つの DML ステートメントとしてカウントされます。