質問:

Sumo Logic 検索ジョブ API を最初にコールした後、検索ジョブのステータスや結果を取得するためのクエリを実行すると、500 Internal Server Error (内部サーバエラー) または Job ID is invalid (ジョブ ID が無効です) のエラーが返されます。サービスやジョブに問題があるのでしょうか?

回答:

検索ジョブ API に対してリクエストを実行すると、元のジョブ クエリはセッション Cookie を生成します。この Cookie を格納しておいて、作成された検索ジョブに対する以降のコールで渡す必要があります。Sumo Logic は、リクエストで渡された Cookie に基づいて、検索ジョブを処理するサーバに API リクエストを転送します。そのため、リクエストで Cookie が指定されていないと、リクエストが正しくないサーバに転送されて、500 エラーが発生することがあります。

たとえば、cURL では、下記のコマンドを使用して、クエリ リクエストで Cookie を取得、格納、および送り返しています。

ジョブの作成

curl -b cookies.txt -c cookies.txt -H 'Content-type: application/json' -H 'Accept: application/json' -X POST -T createSearchJob.json --user <ACCESSID>:<ACCESSKEY> https://api.sumologic.com/api/v1/search/jobs

ジョブのクエリ

curl -v --trace-ascii - -b cookies.txt -c cookies.txt -H 'Accept: application/json' --user <ACCESSID>:<ACCESSKEY> https://api.sumologic.com/api/v1/search/jobs/<SEARCH_JOB_ID>

検索ジョブ API のドキュメントには、API の使い方 (そして Cookie を渡す必要があるということ) が記載されています。この種類のエラーについては、より分かりやすいエラー メッセージが検討中で、将来のリリースで採用される予定です。