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

プラットフォームイベントの公開および配信の使用状況を監視する

イベント公開に関する利用状況データ、ならびに CometD および Pub/Sub API クライアント、empApi Lightning コンポーネント、イベントリレーへの配信に関する利用状況データを取得するには、PlatformEventUsageMetric オブジェクトを照会します。拡張された利用状況総計値が有効化されていない場合、利用状況データでは、前の正時までの過去 24 時間の利用状況データと、1 日ごとの利用状況の履歴データを使用できます。PlatformEventUsageMetric は、API バージョン 50.0 以降で使用できます。API 58.0 以降では、拡張された利用状況総計値を有効化できます。このため、複数の粒度の時間間隔で、イベント名とクライアント別に利用状況データを取得できます。

拡張された利用状況総計値についての詳細は、「拡張された利用状況総計値」を参照してください。

メモ

PlatformEventUsageMetric を使用して、イベント利用状況および利用状況のトレンドを表示します。利用状況データにより、割り当てにどれだけ近づいているか、いつ割り当てを増やす必要があるかを把握できます。PlatformEventUsageMetric に保存されている利用状況総計値は、REST API 制限値から切り離されています。REST API 制限を使用して毎月の配信および割り当てに対する利用状況の公開を追跡します。制限 API が返す毎月のイベント配信の利用状況は、CometD および Pub/Sub API クライアント、empApi Lightning コンポーネント、イベントリレーのプラットフォームイベントや変更データキャプチャイベントで共通です。PlatformEventUsageMetric ではプラットフォームイベントと変更データキャプチャイベントの利用状況が分けられるため、その利用状況を個別に追跡できます。

日付は協定世界時 (UTC) で保存されるため、クエリ用にローカル日時を UTC に変換してください。使用する日付形式については、『SOQL および SOSL リファレンス』「日付形式と日付リテラル」を参照してください。

利用状況データは少なくとも 45 日間保存されます。利用状況データは、1 時間ごとに更新され、過去 24 時間の利用状況がゼロ以外の場合にのみ使用できます。1 時間または他の任意の間隔の利用状況データは使用できません。サポートされるのは、過去 24 時間と 1 日ごとのデータのみです。また、利用状況データは、標準規模のプラットフォームイベントでは使用できません。

Salesforce のメジャーアップグレード後、利用状況データはアップグレード当日およびアップグレード期間内の直近 24 時間、正確でない可能性があります。新しい利用状況データは、5 分間のアップグレードが発生した時間のデータを上書きします。新しい利用状況データには、その時間のアップグレード後に開始する総計値が含まれます。Salesforce のアップグレードについての詳細は、ヘルプ「Salesforce のアップグレードとメンテナンス」および Salesforce ステータスを参照してください。

プラットフォームイベントの場合、次の総計値の利用状況データを照会できます。最初の値は、クエリに指定する総計値名の値です。

  • PLATFORM_EVENTS_PUBLISHED — 公開されたプラットフォームイベントの数
  • PLATFORM_EVENTS_DELIVERED — CometD および Pub/Sub API クライアント、empApi Lightning コンポーネント、イベントリレーに配信されるプラットフォームイベントの数

変更データキャプチャイベントの場合、次の総計値の利用状況データを照会できます。最初の値は、クエリに指定する総計値名の値です。

  • CHANGE_EVENTS_PUBLISHED — 公開された変更データキャプチャイベントの数
  • CHANGE_EVENTS_DELIVERED — CometD および Pub/Sub API クライアント、empApi Lightning コンポーネント、イベントリレーに配信される変更データキャプチャイベントの数

使用状況データは、CHANGE_EVENTS_PUBLISHED 総計値を使用して公開された変更イベント数に対して使用できますが、変更イベントには、イベント公開の制限は適用されません。公開割り当ては、プラットフォームイベントにのみ適用されます。

メモ

次の表では、各総計値で含まれるイベント、パブリッシャー、サブスクライバーを示しています。

総計値 イベント パブリッシャーとサブスクライバー
イベント公開総計値: PLATFORM_EVENTS_PUBLISHEDCHANGE_EVENTS_PUBLISHED 次を含む、すべての種別のイベントが含まれます。
  • カスタムおよび標準プラットフォームイベント
  • 変更イベント
次を含む、すべての公開メソッドが含まれます。
  • Apex
  • Pub/Sub API を含む Salesforce API
  • フロー
  • プロセスビルダープロセス
イベント配信総計値: PLATFORM_EVENTS_DELIVEREDCHANGE_EVENTS_DELIVERED
  • 配信割り当てに含まれるカスタムおよび標準プラットフォームイベント。配信総計値には、イベントモニタリングのリアルタイムイベントや一部の標準イベントは含まれません。配信割り当てに含まれる標準プラットフォームイベントを確認するには、「標準プラットフォームイベントのオブジェクトリスト」を参照してください。
  • 変更イベント

登録メソッド:

  • CometD、Pub/Sub API、empApi Lightning コンポーネント、およびイベントリレー
  • 配信総計値には、Apex トリガー、フロー、プロセスへのイベント配信は含まれません。

過去 24 時間の利用状況総計値の取得

前の正時までの過去 24 時間の利用状況総計値を取得するには、UTC の開始日時と終了日時および総計値名を指定してクエリを実行します。

過去 24 時間の場合、終了日は UTC の現在の日付になり、時間は前の正時に丸められます。開始日は終了日の 24 時間前です。日付の粒度の単位は時です。

現在の日時が UTC の 2020 年 8 月 4 日 11:23 だとすると、前の正時は 11:00 になります。クエリには次の日付が含まれます。

  • UTC 形式の開始日: 2020-08-03T11:00:00.000Z
  • UTC 形式の終了日: 2020-08-04T11:00:00.000Z

このクエリは、2020 年 8 月 3 日 11:00 から 2020 年 8 月 4 日 11:00 までに配信されたプラットフォームイベントの件数の利用状況を返します。

1SELECT Name, StartDate, EndDate, Value FROM PlatformEventUsageMetric 
2WHERE Name='PLATFORM_EVENTS_DELIVERED' 
3AND StartDate=2020-08-03T11:00:00.000Z AND EndDate=2020-08-04T11:00:00.000Z

このクエリでは、過去 24 時間の利用状況の次の結果が返されます。

Name StartDate EndDate Value
PLATFORM_EVENTS_DELIVERED 2020-08-03T11:00:00.000+0000 2020-08-04T11:00:00.000+0000 575

保存された 24 時間利用状況の StartDate と EndDate 間の期間は 24 時間です。クエリで StartDate または EndDate のいずれかを指定して、同じ結果を得ることができます。

1 日ごとの利用状況総計値の履歴の取得

1 日以上の期間の 1 日ごとの利用状況総計値を取得するには、UTC の開始日と終了日および総計値名を指定してクエリを実行します。

2020 年 7 月 19 日から 7 月 22 日までの 3 日間の利用状況総計値を取得するには、次の開始日と終了日を使用します。時間の値は 0 です。

  • クエリの開始日: 2020-07-19T00:00:00.000Z
  • クエリの終了日: 2020-07-22T00:00:00.000Z

このクエリでは、3 日間に配信されたプラットフォームイベントの件数の利用状況総計値が選択されます。

1SELECT Name, StartDate, EndDate, Value FROM PlatformEventUsageMetric 
2WHERE Name='PLATFORM_EVENTS_DELIVERED' 
3AND StartDate>=2020-07-19T00:00:00.000Z and EndDate<=2020-07-22T00:00:00.000Z

このクエリでは、指定された日付範囲の次の結果が返されます。

Name StartDate EndDate Value
PLATFORM_EVENTS_DELIVERED 2020-07-19T00:00:00.000+0000 2020-07-20T00:00:00.000+0000 575
PLATFORM_EVENTS_DELIVERED 2020-07-20T00:00:00.000+0000 2020-07-21T00:00:00.000+0000 899
PLATFORM_EVENTS_DELIVERED 2020-07-21T00:00:00.000+0000 2020-07-22T00:00:00.000+0000 1,035

一般的な考慮事項

PlatformEventUsageMetric の Id を照会した場合、返される Id 値は有効なレコード ID ではありません。たとえば、このクエリでは Id 項目値として 000000000000000AAA が返されます。

1SELECT Id, Name, StartDate, EndDate, Value FROM PlatformEventUsageMetric WHERE Name='PLATFORM_EVENTS_DELIVERED'

その結果、QueryLocator では有効なレコード ID が execute メソッドに渡される必要があるため、PlatformEventUsageMetric を Apex の一括処理と QueryLocator で使用することはできません。PlatformEventUsageMetric を Apex の一括処理と QueryLocator で使用すると、予期しない結果になります。代わりに、Apex の一括処理と PlatformEventUsageMetric で Iterable を使用します。詳細は、『プラットフォームイベント開発者ガイド』「Apex の一括処理の使用」を参照してください。