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

Newer Version Available

This content describes an older version of this product. View Latest

EventBus クラス

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

名前空間

System

EventBus のメソッド

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

getOperationId(result)

公開されたイベントメッセージを識別するイベント UUID を返します。

署名

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() メソッドを使用して確認できます。