イベントスクロール操作を使用して分析データをエクスポートする
使用/events/scroll
REST API を使用して 10,000 件以上の分析イベント レコードをエクスポートする操作。
アナリティクスイベントデータを取得する標準的な方法は、API Connectアナリティクス REST APIを使用しています/events
API 呼び出し。 の/events
API 呼び出しは、最新のイベント データを高速に取得するように最適化されており、最大 10,000 件の API イベント レコードを返すように制限されています。 10,000件を超えるイベントレコードを取得する場合は、/events/scroll
大量の分析イベント データの取得に最適化された API。
分析データをクエリすると/events/scroll
、OpenSearchクエリに一致するすべてのイベント レコードを検索し、スクロール コンテキストと呼ばれるポインターを作成します。 次に、スクロール コンテキストを使用して、イベント データをバッチで取得します。
/events/scroll
同時にクエリを実行し、イベント データが取得された後にスクロール コンテキストを削除します。分析イベントのエクスポート/events/scroll
の/events/scroll
操作はイベント データをバッチで返します。 最初の呼び出しでバッチサイズを定義します。/events/scroll
、その後の呼び出しで各バッチを取得します。 以降の各呼び出しは/events/scroll
スクロール コンテキスト キープアライブ時間と呼ばれる一定の時間内に実行されます。 手順は次のとおりです。
- 最初に作る
/events/scroll
電話。 スクロール操作のバッチ サイズとキープアライブ時間を指定します。 たとえば、イベントデータを1000回ずつ返して、スクロールコンテキストを10分間有効にするには、次のJSONをPOSTします。/events/scroll
:{ "size": 1000, # Return the first 1000 event records. "scroll": 10m # Keep the scroll context alive for 10 minutes. }
size
バッチ サイズを定義します。scroll
キープアライブ時間を定義し、次の形式を使用します<数値><単位>、 例えば: 30s、 5m、 3h、 1d。 最大値はscroll
は1d。
応答の例:{ "total": 5926, # The total events found that match the query. "scroll_id": "FGl....", # Scroll context id to be used to get the next batch. "events": [...] # First batch of event data. }
- 次を作る
/events/scroll
呼び出し、指定scroll_id
前回の回答より:{ "size": 1000, "scroll_id": "<as returned from previous call>", "scroll": 10m }
APIは次の1000件のイベントレコードのバッチを返し、新しいscroll_id
次回の通話のために。注記:もしあなたのscroll_id
期限が切れると、次の応答が返されます。{ "status": 404, "message": [ { "trace": "7c7b3b11ee0e95b61452e8a78086d8e2", "errors": [ { "code": "search_context_missing_exception", "message": "No search context found for id [48420]", "more_info": "" } ] } ] }
もしあなたの
scroll_id
期限が切れた場合は、再度開始する必要があります。 スクロールコンテキストのキープアライブ時間を長く設定して、イベントレコードバッチが返されるまでの時間を増やし、次の/events/scroll
電話をかける。 - 作り続ける
/events/scroll
通話、更新scroll_id
毎回、前回の呼び出しからの応答を返します。 - イベントデータを取得するための最後の呼び出しの後、POSTでスクロールコンテキストを削除します。
/events/scroll/delete
:{"scroll_id": "<as returned from previous call>"}
応答の例:{ "succeeded": true, "num_freed": 15 }
注記:スクロール コンテキストは有効期限が切れると自動的に削除されますが、キープアライブ時間が長い場合は、リソースを解放するために明示的に削除することをお勧めします。
実例
/events/scroll
API。/events/scroll
呼び出して更新するscroll_id
各通話。 見るhttps://ibm.biz/apic-analytics-events-scroll例えばPython脚本。- 合計イベント レコードの数を取得して、最適なバッチ サイズと呼び出し回数を決定します。
curl -k -X GET --url 'https://example.api.connect.com/analytics/analytics/cloud/events/count' -H 'Authorization: Bearer <bearer_token>'
{ "total": 12453 }
12453 のイベントの場合、バッチ サイズは 1250、呼び出しの合計数は 10 で、出力のサイズと呼び出し数のバランスが適切になる可能性があります。
- 最初のリクエストでは、バッチ サイズを 1250 に指定し、スクロール コンテキストのキープアライブ時間を 5 分に指定します。
curl -k -X POST -d '{"size": "1250", "scroll": "5m"}' --url 'https://example.api.connect.com/analytics/analytics/cloud/events/scroll' -H 'Content-Type: application/json' -H 'Authorization: Bearer <bearer_token>'
戻り:{ "total": 12453, # The total events found that match the query. "scroll_id": "<scroll_id>", "events": [...] # First batch of 1250 events. }
- 2番目のリクエストを行い、
scroll_id
前回のリクエストから返された:curl -k -X POST -d '{"size": "1250", "scroll": "5m", "scroll_id": "<scroll_id from previous response>"}' --url 'https://example.api.connect.com/analytics/analytics/cloud/events/scroll' -H 'Content-Type: application/json' -H 'Authorization: Bearer <bearer_token>'
- リクエストをさらに8回繰り返し、
scroll_id
毎回、前回のリクエストからの出力を使用します。合計イベント数は 12453 でバッチ サイズは 1250 なので、最後のリクエストでは 1203 のイベントのみが返されます。
その後のリクエストは
scroll_id
空のイベント配列を返します。 - スクロール コンテキストを削除します。
curl -k -X POST -d '{"scroll_id": "<scroll_id from previous response>"}' --url 'https://example.api.connect.com/analytics/analytics/cloud/events/scroll/delete' -H 'Content-Type: application/json' -H 'Authorization: Bearer <bearer_token>'
パフォーマンス比較/events/scroll
そして/events
/events
API は 10000 件を超えるイベント (1000 件以上のバッチも) を取得できないため、これらのフィールドは n/a としてマークされます。バッチ・サイズ | 呼び出し回数 | /events time |
/events/scroll time |
---|---|---|---|
100 | 10 | 7 | 9 |
500 | 2 | 3 | 4 |
1000 | 1 | 該当なし | 3 |
2000 年 | 1 | 該当なし | 5 |
バッチ・サイズ | 呼び出し回数 | /events time |
/events/scroll time |
---|---|---|---|
100 | 100 | 67 | 75 |
500 | 20 | 27 | 32 |
1000 | 10 | 該当なし | 24 |
2000 年 | 5 | 該当なし | 20 |
バッチ・サイズ | 呼び出し回数 | /events time |
/events/scroll time |
---|---|---|---|
100 | 1000 | 該当なし | 876 |
500 | 200 | 該当なし | 299 |
1000 | 100 | 該当なし | 258 |
2000 年 | 50 | 該当なし | 196 |
バッチ・サイズ | 呼び出し回数 | /events time |
/events/scroll time |
---|---|---|---|
100 | 7603 | 該当なし | 5647 |
500 | 1521 | 該当なし | 2423 |
1000 | 761 | 該当なし | 2158 |
2000 年 | 381 | 該当なし | 1919 |