この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

EventBus クラス

プラットフォームイベントを公開するためのメソッドが含まれます。

名前空間

System

EventBus のメソッド

EventBus のメソッドは次のとおりです。すべてのメソッドが静的です。

getOperationId(result)

渡された SaveResult に基づいて、非同期イベント公開操作の UUID を返します。この UUID を使用して、/event/PublishStatusEvent チャネルで送信された非同期公開結果を相関付けます。

署名

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

指定されたイベントの公開結果。Database.SaveResult には、操作の成功とエラーの発生に関する情報が含まれます。isSuccess() メソッドが true を返した場合、公開要求は Salesforce のキューに入れられ、イベントメッセージが非同期で公開されます。詳細は、「大規模プラットフォームイベントの保持」を参照してください。isSuccess()false を返す場合、イベント公開操作でエラーが発生しており、エラーは Database.Error オブジェクトに返されています。このメソッドは、公開操作の失敗による例外を発生させません。

Database.SaveResult には、Id システム項目も含まれます。Id 項目値は、登録者に配信されるイベントメッセージには含まれません。これは、イベントメッセージの識別に使用されず、必ずしも一意ではありません。

使用方法

  • プラットフォームイベントメッセージは、プラットフォームイベント定義で設定した公開動作に応じて、ただちに、またはトランザクションがコミットされた後に公開されます。詳細は、『プラットフォームイベント開発者ガイド』「プラットフォームイベント項目」を参照してください。
  • Apex ガバナ制限が適用されます。[コミット後に公開] 動作で設定されたイベントの場合、各メソッドの実行は、Apex DML ステートメント制限に対して 1 つの DML ステートメントとして反映されます。利用制限は、Apex Limits.getDMLStatements() メソッドを使用して確認できます。[すぐに公開] 動作で設定されたイベントの場合、各メソッドの実行は、150 EventBus.publish() コールの個別のイベント公開制限に対して反映されます。利用制限は、Apex Limits.getPublishImmediateDML() メソッドを使用して確認できます。

publish(events)

指定されたプラットフォームイベントのリストを公開します。

署名

public static List<Database.SaveResult> publish(List<SObject> events)

パラメータ

events
型: List<sObject>
プラットフォームイベントインスタンスのリスト。たとえば、MyEvent__e オブジェクトのリストなどです。最初に Salesforce 組織でプラットフォームイベントオブジェクトを定義する必要があります。

戻り値

型: List<Database.SaveResult>

それぞれが 1 つのイベントの公開結果に対応する、結果のリスト。各イベントの Database.SaveResult には、操作の成功とエラーの発生に関する情報が含まれます。isSuccess() メソッドが true を返した場合、公開要求は Salesforce のキューに入れられ、イベントメッセージが非同期で公開されます。詳細は、「大規模プラットフォームイベントの保持」を参照してください。isSuccess()false を返す場合、イベント公開操作でエラーが発生しており、エラーは Database.Error オブジェクトに返されています。EventBus.publish() は、渡されたイベントを、エラーで公開できないものを除いて部分的に公開できます。EventBus.publish() メソッドは、失敗した公開操作による例外を発生させません。これは、Apex の Database.insert メソッドが部分的��完了オプションを指定してコールされたときの動作に似ています。

Database.SaveResult には、Id システム項目も含まれます。Id 項目値は、登録者に配信されるイベントメッセージには含まれません。これは、イベントメッセージの識別に使用されず、必ずしも一意ではありません。

使用方法

  • プラットフォームイベントメッセージは、プラットフォームイベント定義で設定した公開動作に応じて、ただちに、またはトランザクションがコミットされた後に公開されます。詳細は、『プラットフォームイベント開発者ガイド』「プラットフォームイベント項目」を参照してください。
  • Apex ガバナ制限が適用されます。[コミット後に公開] 動作で設定されたイベントの場合、各メソッドの実行は、Apex DML ステートメント制限に対して 1 つの DML ステートメントとして反映されます。利用制限は、Apex Limits.getDMLStatements() メソッドを使用して確認できます。[すぐに公開] 動作で設定されたイベントの場合、各メソッドの実行は、150 EventBus.publish() コールの個別のイベント公開制限に対して反映されます。利用制限は、Apex Limits.getPublishImmediateDML() メソッドを使用して確認できます。