プロジェクト内のすべてのログを数えます。
リクエスト構文
GET /logs/?query=SELECT * FROM sls_operation_log where __line__ = 'abc' and __date__ >'2017-09-01 00:00:00' and __date__ < '2017-09-02 00:00:00&line=20&offset=0 HTTP/1.1
Authorization: <AuthorizationString>
Date: Wed, 3 Sept. 2014 08:33:46 GMT
Host: big-game.cn-hangzhou.log.aliyuncs.com
x-log-bodyrawsize: 0
x-log-apiversion: 0.4.0
x-log-signaturemethod: hmac-sha1
リクエストパラメータ
パラメータ名 | 型 | 必須かどうか | 説明 |
---|---|---|---|
query | string | はい | SQL クエリ条件。 |
リクエストヘッダー
GetProjectLogs インターフェイスには特別なリクエストヘッダーはありません。ログサービス API のパブリックリクエストヘッダーの詳細については、パブリックリクエストヘッダー.
レスポンスヘッダ
Log Service API のパブリックレスポンスヘッダーの詳細については、パブリックレスポンスヘッダーを参照してください。
レスポンスヘッダーには、リクエスト返された結果が完了したかどうかを示す特別な要素があります。以下の具体的な応答要素のフォーマットを参照してください。
名前 | 型 | 説明 |
---|---|---|
x-log-progress | string | クエリー結果のステータス。オプションの 2 つの値Incomplete とComplete は、結果が完了したかどうかを示します。 |
x-log-count | integer | 現在のクエリ結果のログの総数。 |
x-log-processed-rows | integer | この計算で処理される行数。 |
x-log-elapsed-millisecond | integer | この計算に費やされた時間(ミリ秒)。 |
レスポンス要素
リクエストが成功した後、応答本体には計算結果が含まれます。GetProjectLogs の応答本体は配列であり、配列の各要素はログです。
要素の形式は次のとおりです。
名前 | 型 | 説明 |
---|---|---|
__time__ | integer | ログのタイムスタンプ(1970-1-100 00:00:00 UTC からの秒数)。 |
__source__ | string | ログのソース。ログの作成時に指定されます。 |
[content] | key-value pair | ログの元の内容。キーと値のペアで構成されています。 |
詳細な説明
- この API の照会は、標準の SQL 照会ステートメントです。
- リクエストするプロジェクトをリクエストドメイン名で指定します。
- 照会ステートメントの FROM 条件で照会するログ・ストアを指定します。Logstore は SQL のテーブルと同等です。
- SQL 照会条件で照会する時間範囲を指定する必要があります。時間範囲は\ \ date \ \ (timestamp 型 )または\ \ time \ \ (整数型 、単位は UNIX 時間)です。
- この API を呼び出すたびに、指定した時間内に結果が返され、各クエリーで指定された数のログのみがスキャンされます。結果は、このから返さリクエストログボリュームが、このために処理される場合に不完全なリクエスト (結果が完了しているか否かを応答ヘッダで
x-log-progress
を用いて示されている)が大きいです。同時に、Log Service はクエリ結果を 15 分以内にキャッシュします。クエリリクエスト結果の一部がキャッシュ内のものと同じ場合、Log Service はこのリクエストのキャッシュにないログをスキャンし続けます。Log Service は、複数のクエリ結果をマージする際の作業負荷を軽減するため、キャッシュ内のクエリ結果とこのクエリで新たにスキャンされた結果をマージして返します。したがって、Log Service では、同じパラメータを使用して API を複数回呼び出して、最終的な完全な結果を得ることができます。Log Service API は、照会するログボリュームが大規模に変更されるため、完全な結果を得る前に API を呼び出す必要がある回数を予測できません。したがって、各リクエスト返された結果のx-log-progress
ステータスをチェックして、クエリを続行するかどうかを判断する必要があります。この API を呼び出すたびに同じ数のクエリ CU が再び消費されることに注意する必要があります。
エラーコード
Log Service API の一般的なエラーコードのほかに、GetProjectLogs API は次の特別なエラーコードを返すことがあります。
HTTP ステータスコード | エラーコード | エラーメッセージ | 説明 |
---|---|---|---|
400 | ParameterInvalid | parameter is invalid | リクエストパラメーターが無効です。詳細については、詳細なエラーメッセージを参照してください。 |
例
例として杭州リージョンでビッグゲームと名付けられたプロジェクトに参加しましょう。ビッグゲームプロジェクトの app_log ログストア内のトピックが groupA であるログを照会します。このクエリの時間間隔は 2014-09-01 00:00:00-2014-09-01 22:00:00 です。このクエリのキーワードは error です。クエリは時間間隔の始めから開始され、最大 20 のログが返されます。
リクエストの例
GET /logs/?query=SELECT * FROM sls_operation_log where __line__ = 'abc' and __date__ >'2017-09-01 00:00:00' and __date__ < '2017-09-02 00:00:00&line=20&offset=0 HTTP/1.1
Authorization: <AuthorizationString>
Date: Wed, 3 Sept. 2014 08:33:46 GMT
Host: big-game.cn-hangzhou.log.aliyuncs.com
x-log-bodyrawsize: 0
x-log-apiversion: 0.4.0
x-log-signaturemethod: hmac-sha1
レスポンスの例
HTTP/1.1 200 OK
Content-MD5: 36F9F7F0339BEAF571581AF1B0AAAFB5
Content-Type: application/json
Content-Length: 269
Date: Wed, 3 Sept. 2014 08:33:47 GMT
x-log-requestid: efag01234-12341-15432f
x-log-progress : Complete
x-log-count : 10000
x-log-processed-rows: 10000
x-log-elapsed-millisecond:5
{
"progress": "Complete",
"count": 2,
"logs": [
{
"__time__": 1409529660,
"__source__": "10.237.0.17",
"Key1": "error",
"Key2": "Value2"
},
{
"__time__": 1409529680,
"__source__": "10.237.0.18",
"Key3": "error",
"Key4": "Value4"
}
]
}
この応答例では、x-log-progress
ステータスはComplete
です。これは、ログクエリが完了し、返された結果が完了したことを示します。このためにリクエスト、2 つのログは、クエリ条件を満たしているlogs
の値として表示されます。応答結果にx-log-progress
ステータスがIncomplete
である場合、完了を返すためにリクエスト繰り返す必要があります。