クエリステートメントを使用してログをクエリおよび分析する場合、一部の文字を引用符で囲む必要があります。 たとえば、フィールド名やテーブル名などの固有名詞にスペースが含まれている場合は、固有名詞を引用符で囲む必要があります。 このトピックでは、クエリステートメントで引用符を使用する方法について説明します。
検索文で引用符を使用する
説明
フィールド名またはフィールド値にスペースや漢字などの特殊文字が含まれている場合、またはandやorなどの構文キーワードが含まれている場合は、フィールド名またはフィールド値を二重引用符 ("") で囲む必要があります。 検索構文の説明と例の詳細については、「検索構文」をご参照ください。
例
リクエストメソッド
フィールド値にPUT
が含まれるクエリログ。リクエストメソッド
フィールドの名前にはスペースが含まれます。 検索文では、フィールド名を二重引用符 ("") で囲む必要があります。"request method":PUT
remote_user
フィールド値が空の文字列であるクエリログ。remote_user:""
region
フィールド値にcn *
が含まれるクエリログ。cn *
は文字列です。 ログがregion:cn *,en
で、区切り文字がカンマ (,) の場合、Simple log Serviceはログをregion
、cn *
、およびen
に分割します。 次の検索文を使用して、ログを検索できます。region:"cn*"
分析ステートメントで引用符を使用する
説明
フィールド名やテーブル名などの固有名詞にスペースや漢字などの特殊文字が含まれている場合、またはandやorなどの構文キーワードが含まれている場合は、分析ステートメントで固有名詞を二重引用符 ("") で囲む必要があります。 分析ステートメントには、SELECTステートメントが含まれます。
特定の文字が文字列を表す場合は、単一引用符 ('') を使用して、その文字を分析ステートメントで囲む必要があります。 たとえば、
'status'
はステータス文字列を示し、status
または"status"
はステータスフィールドを示します。
例
最も長い期間を持つ上位10件のリクエストを計算します。
上位10
列の名前にはスペースが含まれています。 列名を二重引用符 ("") で囲む必要があります。* | SELECT max(request_time,10) AS "top 10"
IPアドレスが
192.168.XX.XX
と一致するログを照会します。* | select * from log where key like '192.168.%.%'
リクエストのログ数をステータスコードで計算します。
content
フィールドはインデックス付きで、データ型はJSONです。 詳細については、「」をご参照ください。インデックス付きJSONフィールドをクエリおよび分析するにはどうすればよいですか?* | SELECT "content.status", COUNT(*) AS PV GROUP BY "content.status"