ApiEvent
サポートされているコール
describeSObjects()、query()
特別なアクセスルール
このオブジェクトにアクセスするには、Salesforce Shield または Salesforce Event Monitoring アドオンサブスクリプションと、「リアルタイムイベント監視データを表示」ユーザー権限が必要です。
項目
| 項目 | 詳細 |
|---|---|
| AdditionalInfo |
|
| ApiType |
|
| ApiVersion |
|
| Application |
|
| Client |
|
| ConnectedAppId |
|
| ElapsedTime |
|
| EvaluationTime |
|
| EventDate |
|
| EventIdentifier |
|
| LoginHistoryId |
|
| LoginKey |
|
| Operation |
|
| Platform |
|
| PolicyId |
|
| PolicyOutcome |
|
| QueriedEntities |
|
| Query |
|
| Records |
|
| RelatedEventIdentifier |
|
| RowsProcessed |
|
| RowsReturned |
|
| SessionKey |
|
| SessionLevel |
|
| SourceIp |
|
| UserAgent |
|
| UserId |
|
| Username |
|
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_id と x-sfdc-addinfo-correlation_number など、有効な 2 つの項目名を保存している場合、他に 28 個の項目名を保存できます。項目名は、認証に渡されたのと同じ順序で保存されるとは限りません。
- 既存の API 項目名は HTTP ヘッダー内の AdditionalInfo 名に使用できません。AdditionalInfo 名がオブジェクトの API 参照名と競合した場合、項目値は保存されません。たとえば、X-SFDC-ADDINFO-UserId='abc123' という HTTP ヘッダーは AdditionalInfo に保存されません。
- 追加項目値には、英数字、「_」、「-」文字のみを使用できます。
- 項目値は 255 文字以下にする必要があります。項目値が 255 文字を超えた場合、最初の 255 文字のみが保存され、残りは切り捨てられます。
- 無効な文字を含む項目値は保存されますが、項目ヘッダーが空の文字列 ("") になります。
- 最初の有効な 30 個の項目名のみが AdditionalInfo 項目に保存されます。項目名は、認証に渡されたのと同じ順序で保存されるとは限りません。
- AggregationFieldName または PlatformEventMetrics が SourceIp の場合、値が Salesforce.com IP だと AggregationFieldValue で絞り込めません。
HTTP と cURL を使用して追加情報を渡す方法
1curl https://yourInstance.salesforce.com/services/data/v34.0/query?q=SELECT+Name+From+Account -H "X-PrettyPrint:1" -H "x-sfdc-addinfo-correlationid:
2d18c5a3f-4fba-47bd-bbf8-6bb9a1786624"Java の使用例
1//adding additional info headers ..
2Map<String, String> httpHeaders = new HashMap<String,String>();
3httpHeaders.put("x-sfdc-addinfo-fieldname1" /* additional info field*/ , "d18c5a3f-4fba-47bd-bbf8-6bb9a1786624" /* value*/);
4httpHeaders.put("x-sfdc-addinfo-fieldname2" /* additional info field*/ , "d18c5a3f-4fba-47bd-bbf8-6bb9a1786624" /* value*/);
5
6ConnectorConfig config = new ConnectorConfig();
7config.setUsername(userId);
8config.setPassword(passwd);
9config.setAuthEndpoint(authEndPoint);
10config.setProxy(proxyHost, proxyPort);
11
12//setting additional info headers
13for (Map.Entry<String, String> entry : httpHeaders.entrySet()) {
14 config.setRequestHeader(entry.getKey(), entry.getValue());
15}
16// Set the username and password if your proxy must be authenticated
17 config.setProxyUsername(proxyUsername);
18 config.setProxyPassword(proxyPassword);
19 try {
20 QueryResult queryResult = connection.query("SELECT Id, Name FROM Account");
21 // etc.
22 } catch (ConnectionException ce) {
23 ce.printStackTrace();
24 }標準 SOQL 使用状況
ApiEvent では、2 つの項目 (EventDate と EventIdentifier) で絞り込みができます。ApiEvent オブジェクトでサポートされている SOQL 関数は、WHERE、ORDER BY、および LIMIT のみです。WHERE 句では、比較演算子 (<、>、<=、および >=) のみを使用できます。!= 演算子はサポートされていません。ORDER BY 句では、EventDate DESC のみを使用できます。EventDate では昇順はサポートされておらず、EventIdentifier では並べ替えはサポートされていません。
絞り込みなしのクエリの例
次のクエリは��WHERE 句が含まれていないため、有効です。特殊なルールは適用されません。
1SELECT ApiType, Client, ElapsedTime, QueriedEntities, Username
2FROM ApiEvent絞り込まれたクエリの例
EventDate のみで絞り込みできますが、他の項目で絞り込むと失敗します。このクエリ種別では比較演算子も使用できます。
1SELECT ApiType, Client, ElapsedTime, QueriedEntities, Username
2FROM ApiEvent
3WHERE EventDate>=2014-11-27T14:54:16.000Z