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

ApiEvent

query()queryMore()、および count() のユーザが開始した読み取り専用 API 呼び出しを追跡します。Enterprise WSDL および Partner WSDL の場合、SOAP API、REST API、および Bulk API によって API 要求を取得します。Salesforce モバイルアプリケーションから開始された Tooling API コールおよび API コールは取得されません。ApiEvent は、トランザクションセキュリティポリシーで使用できます。ApiEvent は、ApiEventStream のイベントデータを格納する Big Object です。このオブジェクトは API バージョン 46.0 以降で使用できます。

サポートされているコール

describeSObjects()query()

特別なアクセスルール

このオブジェクトにアクセスするには、Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションと、「リアルタイムイベント監視データを表示」ユーザ権限が必要です。

項目

項目 詳細
AdditionalInfo
string
プロパティ
Nillable
説明
API 要求中に HTTP ヘッダーから取得した追加情報を JSON に逐次化したもの。たとえば、{"field1": "value1", "field2": "value2"} です。

AdditionalInfo の使用」を参照してください。

ApiType
string
プロパティ
Nillable
説明
使用された API。次のような値があります。
  • SOAP Enterprise
  • SOAP Partner
  • REST API
  • なし
ApiVersion
double
プロパティ
Nillable
説明
API のバージョン番号。
Application
string
プロパティ
Nillable
説明
組織にアクセスするために使用するアプリケーション。Einstein Analytics や Salesforce 開発者コネクタなどがあります。
Client
string
プロパティ
Nillable
説明
API イベントを実行したサービス。不明なクライアントを使用している場合、この項目で「不明」または空白の値が返されます。
ConnectedAppId
reference
プロパティ
Nillable
説明
API コールに関連付けられた接続アプリケーションの 15 文字の ID。たとえば、0H4RM00000000Kr0AI です。
ElapsedTime
int
プロパティ
Nillable
説明
要求の完了にかかった時間 (ミリ秒単位)。この値の測定は、クエリが実行される前に始まり、クエリが完了すると終了します。ネットワーク経由で結果を返すのにかかる時間は含まれません。
EvaluationTime
double
プロパティ
Nillable
説明
ポリシーの評価にかかった時間 (ミリ秒単位)。
EventDate
dateTime
プロパティ
Filter、Sort
説明
指定された API イベントが捕捉された時間 (クエリの実行後)。たとえば、「2020-01-20T19:12:26.965Z」などです。最も細かい設定はミリ秒です。
EventIdentifier
string
プロパティ
Filter、Sort
説明
イベントの一意の ID。たとえば、0a4779b0-0da1-4619-a373-0a36991dff90 などです。
LoginHistoryId
reference
プロパティ
Nillable
説明
ユーザアクティビティと一連の特定の API イベントを関連付けられるように、ユーザセッションを追跡します。この項目は LoginEvent、AuthSession、および LoginHistory オブジェクトでも使用できるため、ユーザの元の認証へとイベントを簡単にトレースバックできます。たとえば、0YaB000002knVQLKA2 です。
LoginKey
string
プロパティ
Nillable
説明
特定のユーザのログインセッションのすべてのイベントを結び付ける文字列。このセッションはログインイベントで開始され、ログアウトイベントまたはユーザセッションの期限切れで終了します。たとえば、lUqjLPQTWRdvRG4 です。
Operation
picklist
プロパティ
Nillable、Restricted picklist
説明
イベントを生成した API コール。可能な値は、QueryQueryAll、または QueryMore です。
Platform
string
プロパティ
Nillable
説明
ログインマシンのオペレーティングシステム。iPhone、Mac OS、Linux、Unknown などになります。
PolicyId
reference
プロパティ
Nillable
説明
このイベントに関連付けられたトランサクションポリシーの ID。たとえば、0NIB000000000KOOAY です。
PolicyOutcome
picklist
プロパティ
Nillable、Restricted picklist
説明
トランサクションポリシーの結果。このイベントで使用可能な値は次のとおりです。
  • Block - ポリシーをトリガする操作を実行できないようにユーザがブロックされました。
  • Error - ポリシーの実行時にポリシーによって未定義のエラーが発生しました。
  • NoAction - ポリシーがトリガしませんでした。
  • Notified - 受信者に通知が送信されました。
QueriedEntities
string
プロパティ
Nillable
説明
SOQL クエリのエンティティ。たとえば、商談、リード、取引先、ケースなどです。また、カスタムオブジェクトを含めることもできます。リレーションクエリの場合、この項目の値にはクエリに関係するすべてのエンティティが含まれます。
  • SELECT Contact.FirstName, Contact.Account.Name from Contact の場合、QueriedEntities の値は Account, Contact になります。
  • SELECT Account.Name, (SELECT Contact.FirstName, Contact.LastName FROM Account.Contacts) FROM Account の場合、QueriedEntities の値は Account, Contact になります。
  • SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = 'media' の場合、QueriedEntities の値は Account, Contact になります。
Query
string
プロパティ
Nillable
説明
SOQL クエリ。たとえば、SELECT id FROM Lead です。
Records
json
プロパティ
Nillable
説明
照会されたオブジェクトのメタデータを表す JSON 文字列。このメタデータには、エンティティ種別およびエンティティ ID あたりのクエリ結果数が含まれます。
RelatedEventIdentifier
string
プロパティ
Nillable
説明
関連イベントの EventIdentifier を表します。たとえば、bd76f3e7-9ee5-4400-9e7f-54de57ecd79c です。

この項目は、このイベントで監視しているアクティビティで追加の認証 (多要素認証など) が必要とされる場合にのみ入力されます。この場合、Salesforce はより多くのイベントを生成し、新しいイベントの RelatedEventIdentifier 項目を元のイベントの EventIdentifier 項目の値に設定します。この項目を EventIdentifier 項目と共に使用して、すべての関連イベントを相関させます。追加の認証が必要でない場合、この項目は空白になります。

RowsProcessed
double
プロパティ
Nillable
説明
ユーザが API クエリを実行したときにクエリから返されたデータの行の合計数。

Big Object では、返された行の合計数が API バッチサイズよりも大きい場合、RowsProcessed-1 になります。

RowsReturned
double
プロパティ
Nillable
説明
現在の API バッチで返されたデータの行数。

RowsProcessed が API バッチサイズ以下の場合、RowsReturnedRowsProcessed と等しくなります。RowsProcessed が API バッチサイズより大きい場合、RowsReturned は API バッチサイズまたは最後のバッチの行数と等しくなります。

SessionKey
string
プロパティ
Nillable
説明
ユーザの一意のセッション ID。この値を使用して、セッション内のすべてのユーザイベントを識別します。ユーザがログアウトしてから再びログインすると、新しいセッションが開始されます。たとえば、vMASKIU6AxEr+Op5 です。
SessionLevel
picklist
プロパティ
Nillable、Restricted picklist
説明
セッションレベルのセキュリティは、接続アプリケーションやレポートなど、このセキュリティをサポートする機能へのユーザのアクセス権を制御します。可能な値は次のとおりです。
  • HIGH_ASSURANCE - リソースへのアクセスに高保証セッションが使用されました。たとえば、高保証セッションレベルが必要な接続アプリケーション、レポート、ダッシュボードなどのリソースにユーザがアクセスしようとした場合です。
  • LOW - 現在のセッションに対するユーザのセキュリティレベルが最低限の要件を満たします。

    この Low レベルは、Salesforce UI で利用不可能であり、使用されません。UI を介したユーザセッションは、標準または高保証です。このレベルは API を使用して設定できますが、このレベルに割り当てられたユーザは、Salesforce 組織で使用できる機能が制限され、またどの機能を使用できるかを判断することができません。

    メモ

  • STANDARD - 現在のセッションに対するユーザのセキュリティレベルが、現在の組織のセッションセキュリティレベルの標準の要件セットを満たします。
SourceIp
string
プロパティ
Nillable
説明
API イベントの発生元の IP。Salesforce 内部 IP (Salesforce AppExchange から発生する API イベントなど) は、「Salesforce.com IP」と表示されます。
UserAgent
string
プロパティ
Nillable
説明
API コールが発生したプラットフォームまたは環境。この項目には、オペレーティングシステム、アプリケーション、または Web プロトコルに関する情報を含めることができます。たとえば、「Mozilla/5.0 (iPhone; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)」などです。
UserId
reference
プロパティ
Nillable
説明
発生元ユーザの一意の ID。たとえば、005000000000123 です。
Username
string
プロパティ
Nillable
説明
イベントが作成された時点での user@company.com 形式の発生元のユーザ名。

AdditionalInfo の使用

AdditionalInfo を使用すると、API イベントを拡張してカスタムデータを含めることができます。このデータは後で照会できます。たとえば、一意の相関 ID を共有する外部システムからユーザが SOQL クエリを実行したときに、その ID を取得できます。このプロセスにより、システム間で API コールを追跡できます。ApiEvent を使用してデータを保存するには、すべての AdditionalInfo 項目名の先頭を x-sfdc-addinfo-{field name} にします。たとえば、有効な項目割り当ては、x-sfdc-addinfo-correlation_id = ABC123 です。ここで、x-sfdc-addinfo-correlation_id は項目名、ABC123 は項目値です。

項目名を定義するときには、次の点に注意してください。
  • x-sfdc-addinfo- では大文字と小文字が区別されませんx-sfdc-addinfo-{field name}X-SFDC-ADDINFO-{field name} および x-SfDc-AdDiNfO-{field name} は等価です。
  • 項目には、英数字と「_」 (アンダースコア) 文字のみを使用できます。
  • 項目名は、x-sfdc-addinfo-{field name} を含めずに 2 ~ 29 文字にする必要があります。
  • 先頭が x-sfdc-addinfo- でない項目名は無視されます。
  • x-sfdc-addinfo- より後に無効な文字が含まれる名前は無視され、何も保存されません。たとえば、x-sfdc-addinfo-correlation_id は有効な項目名ですが、x-sfdc-addinfo-correlation->id は有効ではありません。
  • 最初の有効な 30 個の項目名のみが AdditionalInfo に保存されます。たとえば x-sfdc-addinfo-correlation_idx-sfdc-addinfo-correlation_number など、有効な 2 つの項目名を保存している場合、他に 28 個の項目名を保存できます。項目名は、認証に��されたのと同じ順序で保存されるとは限りません。
項目値を定義する場合は、次の点に注意してください。
  • 既存の API 項目名は HTTP ヘッダー内の AdditionalInfo 名に使用できません。AdditionalInfo 名がオブジェクトの API 参照名と競合した場合、項目値は保存されません。たとえば、X-SFDC-ADDINFO-UserId='abc123' という HTTP ヘッダーは AdditionalInfo に保存されません。
  • 追加項目値には、英数字、「_」、「-」文字のみを使用できます。
  • 項目値は 255 文字以下にする必要があります。項目値が 255 文字を超えた場合、最初の 255 文字のみが保存され、残りは切り捨てられます。
  • 無効な文字を含む項目値は保存されますが、項目ヘッダーが空の文字列 ("") になります。
  • 最初の有効な 30 個の項目名のみが AdditionalInfo 項目に保存されます。項目名は、認証に渡されたのと同じ順序で保存されるとは限りません。
  • AggregationFieldName または PlatformEventMetricsSourceIp の場合、値が Salesforce.com IP だと AggregationFieldValue で絞り込めません。

HTTP と cURL を使用して追加情報を渡す方法

Java の使用例

ユーザインターフェースの場合は、プロキシサーバを使用してコールを捕捉し、必要な情報を追加します。

標準 SOQL 使用状況

ApiEvent では、2 つの項目 (EventDateEventIdentifier) で絞り込みができます。ApiEvent オブジェクトでサポートされている SOQL 関数は、WHEREORDER BY、および LIMIT のみです。WHERE 句では、比較演算子 (<、>、<=、および >=) のみを使用できます。!= 演算子はサポートされていません。ORDER BY 句では、EventDate DESC のみを使用できます。EventDate では昇順はサポートされておらず、EventIdentifier では並べ替えはサポートされていません。

convertTimeZone() などの日付関数はサポートされていません。たとえば、SELECT CALENDAR_YEAR(EventDate), Count(Id) FROM ApiEvent GROUP BY CALENDAR_YEAR(EventDate) はエラーを返します。クエリの日付リテラルや、TODAY()YESTERDAY()LAST_n_DAYS:1 のような日付/時間関数は使用できます。ただし、これらの関数はバックグラウンドで比較演算子を使用します。つまり、これらは WHERE 句の最後の式でのみ使用できます。

メモ

次のリストで、有効なクエリと無効なクエリの例を確認してください。
  • 絞り込みなし
    • 有効WHERE 句が含まれないため、特殊なルールは適用されません。
  • EventDate で絞り込みEventDate のみで絞り込みできますが、他の項目で絞り込むと失敗します。このクエリ種別では比較演算子も使用できます。
    • 有効EventDate のみで絞り込みできますが、他の項目で絞り込むと失敗します。このクエリ種別では比較演算子も使用できます。

非同期 SOQL 使用状況

非同期 SOQL の場合は、ApiEvent の項目を絞り込み、クエリに任意の比較演算子を使用できます。

例: ユーザが Patent__c に対して実行したすべてのクエリを検索する

SELECT EventDate, EventIdentifier, PolicyOutcome, EvaluationTime, Query FROM ApiEvent WHERE QueriedEntities='Patent__c'