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

PlatformEventSubscriberConfig の使用によるプラットフォームイベントトリガーのユーザーおよびバッチサイズの設定

プラットフォームイベント Apex トリガーのデフォルトの実行ユーザーとバッチサイズを上書きできます。デフォルトでは、トリガーはバッチサイズが 2,000 イベントメッセージの自動化プロセスシステムユーザーとして実行されます。ユーザーとバッチサイズを設定することで、デフォルトの使用で発生する場合があるいくつかの制限を回避できます。トリガーを設定するには、Tooling API またはメタデータ API の PlatformEventSubscriberConfig を使用します。

デフォルトの自動化プロセスエンティティの代わりに特定のユーザーとしてトリガーを実行すると、次のようなメリットがあります。

  • このユーザーとしてレコードの作成、更新、削除が行われる。
  • 作成されたレコードの OwnerId 項目がこのユーザーに設定される。
  • 共有が有効になっている場合、レコードがユーザーと共有される。(トリガーが with sharing キーワードで宣言された Apex クラスへのコールを行う場合など)。
  • このユーザーによってトリガー実行のデバッグログが作成される。
  • トリガーからメールメッセージを送信できる (デフォルトの自動化プロセスではサポートされていない)。

Salesforce 組織の有効なユーザーを指定できます。トリガーは、ユーザーのオブジェクト権限および項目レベルの権限に関係なく、すべてのレコードにアクセスする権限のあるシステムコンテキストで実行されます。トリガーが with sharing キーワードで宣言された Apex クラスへのコールを行われると、実行ユーザーに対してレコードの共有が適用されます。

ユーザーの設定に加えて、1 から 2,000 までのカスタムバッチサイズを指定できます。バッチサイズは、1 回の実行でトリガーに送信できるイベントメッセージの最大数です。プラットフォームイベントトリガーの場合、デフォルトのバッチサイズは 2,000 です。バッチサイズを小さく設定すると、Apex ガバナ制限に達することを回避できます。

  • 一度に 1 つのイベントを処理するために、バッチサイズを 1 に設定することはお勧めしません。バッチサイズが小さいと、イベントメッセージの処理速度が遅くなることがあります。
  • トリガーが実行中で、プラットフォームイベントに登録されている場合、トリガーを一時停止して再開した後、新しい設定が有効になります。[登録] 関連リストの Apex トリガーの横にある [管理] をクリックすると、プラットフォームイベント詳細ページからトリガーの一時停止と再開ができます。詳細は、「プラットフォームイベントの詳細ページでのイベントのサブスクライバーの表示および管理」を参照してください。

メモ

Tooling API を使用してプラットフォームイベントトリガーを設定するには、『Tooling API 開発者ガイド』「PlatformEventSubscriberConfig」を参照してください。設定を追加するには、PlatformEventSubscriberConfig REST リソースで POST を実行し、GET コールを実行して ID で設定を取得します。また、Tooling API を使用し���設定を照会することもできます。

メタデータ API を使用してプラットフォームイベントトリガーを設定するには、『メタデータ API 開発者ガイド』の「PlatformEventSubscriberConfig」を参照してください。Visual Studio Code を Salesforce 拡張機能パックで使用すると、メタデータ API をリリースして取得することができます。Visual Studio Code と拡張機能パックのインストールの詳細については、「Visual Studio Code 向け Salesforce 拡張機能」を参照してください。CLI を使用したメタデータのリリースと取得についての詳細は、『Salesforce CLI Command Reference (Salesforce CLI コマンドリファレンス)』「source Commands (source コマンド)」および「mdapi Commands (mdapi コマンド)」を参照してください。