翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ブール、比較、数値、日時、その他の関数
CloudWatch Logs Insights は、次のセクションで説明するように、クエリで他の多くのオペレーションと関数をサポートしています。
算術演算子
算術演算子は、数値データ型を引数として受け入れ、数値結果を返します。算術演算子は、filter
コマンドと fields
コマンドで使用します。また、他の関数の引数としても使用します。
Operation | 説明 |
---|---|
|
加算 |
|
減算 |
|
乗算 |
|
除算 |
|
指数 ( |
|
残余または剰余 ( |
ブール演算子
ブール演算子 and
、or
、および not
を使用します。
注記
ブール演算子は、 TRUEまたは の値を返す関数でのみ使用しますFALSE。
比較演算子
比較演算子は、すべてのデータ型を引数として受け入れ、ブール値の結果を返します。比較オペレーションは、filter
コマンドで使用します。また、他の関数の引数としても使用します。
演算子 | 説明 |
---|---|
|
Equal |
|
Not equal |
|
Less than (より小さい) |
|
Greater than (より大きい) |
|
以下 |
|
以上 |
数値演算子
数値オペレーションは、数値データ型を引数として受け入れ、数値結果を返します。数値オペレーションは、filter
コマンドと fields
コマンドで使用します。また、他の関数の引数としても使用します。
Operation | 結果タイプ | 説明 |
---|---|---|
|
number |
絶対値 |
|
number |
上限 ( |
|
number |
下限 ( |
|
number |
最大値を返します |
|
number |
最小値を返します |
|
number |
自然対数 |
|
number |
平方根 |
構造タイプ
マップまたはリストは、クエリの属性にアクセスして使用できる CloudWatch Logs Insights の構造タイプです。
例: マップまたはリストを取得するには
jsonParse
を使用して、JSON 文字列であるフィールドをマップまたはリストに解析します。
fields jsonParse(@message) as json_message
例: 属性にアクセスするには
ドットアクセス演算子 (map.attribute) を使用して、マップ内の項目にアクセスします。マップ内の属性に特殊文字が含まれている場合は、バックティックを使用して属性名 (map.attributes.`special.char`) を囲みます。
fields jsonParse(@message) as json_message | stats count() by json_message.status_code
ブラケットアクセス演算子 (list[index]) を使用して、リスト内の特定の位置にある項目を取得します。
fields jsonParse(@message) as json_message | filter json_message.users[1].action = "PutDat
キー名に特殊文字が含まれている場合は、特殊文字をバックティック (``) でラップします。
fields jsonParse(@message) as json_message | filter json_message.`user.id` = "123"
例: 空の結果
マップとリストは、文字列、数値、および日時関数では null として扱われます。
fields jsonParse(@message) as json_message | display toupper(json_message)
マップとリストを他のフィールドと比較すると、 になりますfalse
。
注記
、dedup
、pattern
、および でのマップsort
とリストstats
の使用はサポートされていません。
日時関数
日時関数
日時関数は、fields
コマンドと filter
コマンドで使用します。また、他の関数の引数としても使用します。これらの関数では、集計関数を使用してクエリの時間バケットを作成します。数値と次のいずれかで構成される期間を使用します。
ms
はミリ秒s
は秒m
は分h
は時間
たとえば、10m
は 10 分、1h
は 1 時間です。
注記
日時関数に最適な時間単位を使用します。 CloudWatch ログは、選択した時間単位に従ってリクエストを制限します。例えば、s
を使用するすべてのリクエストの最大値として 60 を上限とします。したがって、 を指定した場合bin(300s)
、 CloudWatch Logs はこれを実際に 60 秒として実装します。60 は 1 分間の秒数であるため、 CloudWatch Logs は で 60 を超える数値を使用しませんs
。5 分間のバケットを作成するには、代わりに bin(5m)
を使用します。
ms
の上限は 1000、s
と m
の上限は 60、h
の上限は 24 です。
次の表は、クエリコマンドで使用できるさまざまな日付時刻関数のリストを示したものです。このリストには、各関数の結果タイプと説明が記載されています。
ヒント
クエリコマンドを作成するときに、時間間隔セレクタを使用してクエリの対象とする期間を選択できます。例えば、5~30 分間隔、1 時間、3 時間、12 時間間隔、またはカスタム時間枠の期間を設定できます。また、特定の日付の間で期間を指定することもできます。
関数 | 結果タイプ | 説明 |
---|---|---|
|
Timestamp |
これを使用して、複数のログエントリをクエリにまとめることができます。次の例では、1 時間あたりの例外の数を返します。
|
|
Timestamp |
タイムスタンプを特定の期間に切り詰めます。たとえば、 |
|
タイムスタンプ |
タイムスタンプを特定の期間に切り上げ、次に切り詰めます。たとえば、 |
|
タイムスタンプ |
入力フィールドを Unix エポックからのミリ秒数として解釈し、タイムスタンプに変換します。 |
|
数値 |
指定されたフィールドで見つかったタイムスタンプを、Unix エポックからのミリ秒を表す数値に変換します。例えば、 |
注記
現在、 CloudWatch Logs Insights では、人間が読み取れるタイムスタンプを使用したログのフィルタリングはサポートされていません。
一般関数
一般関数
一般関数は、fields
コマンドと filter
コマンドで使用します。また、他の関数の引数としても使用します。
関数 | 結果タイプ | 説明 |
---|---|---|
|
ブール値 |
フィールドが存在する場合は |
|
LogField |
リストから最初の null でない値を返します |
JSON 関数
JSON 関数
JSON 関数は、 fields
コマンドと filter
コマンドで使用し、他の関数の引数として使用します。
関数 | 結果タイプ | 説明 |
---|---|---|
|
マップ | リスト | 空 |
入力がJSONオブジェクトまたはJSON配列の文字列表現である場合、マップまたはリストを返します。入力が表現のいずれでもない場合、空の値を返します。 |
|
文字列 |
入力がJSONオブジェクトまたはJSON配列の文字列表現である場合、マップまたはリストを返します。入力が表現のいずれでもない場合、空の値を返します。マップまたはリストデータからJSON文字列を返します。 |
IP アドレス文字列関数
IP アドレス文字列関数
IP アドレス文字列関数は、filter
コマンドと fields
コマンドで使用します。また、他の関数の引数としても使用します。
関数 | 結果タイプ | 説明 |
---|---|---|
|
ブール型 |
フィールドが有効な IPv4または IPv6 アドレス |
|
boolean |
フィールドが有効なIPv4アドレス |
|
boolean |
フィールドが有効なIPv6アドレス |
|
boolean |
フィールドが、指定された v4 IPv4または v6 サブネット内の有効な または IPv6 アドレス |
|
boolean |
フィールドが指定された v4 サブネット内の有効なIPv4アドレス |
|
boolean |
フィールドが指定された v6 サブネット内の有効なIPv6アドレス |
文字列関数
文字列関数
文字列関数は、fields
コマンドと filter
コマンドで使用します。また、他の関数の引数としても使用します。
関数 | 結果タイプ | 説明 |
---|---|---|
|
数値 |
フィールドが欠落しているか、空の文字列である場合、 |
|
数値 |
フィールドが欠落しているか、空の文字列であるか、空白が含まれている場合、 |
|
文字列 |
複数の文字列を連結します。 |
|
文字列 |
関数に 2 番目の文字列引数がない場合、文字列の左側からホワイトスペースを削除します。関数に 2 番目の文字列引数がある場合、ホワイトスペースは削除されません。その場合、 |
|
文字列 |
関数に 2 番目の文字列引数がない場合、文字列の右側からホワイトスペースを削除します。関数に 2 番目の文字列引数がある場合、ホワイトスペースは削除されません。その場合、 |
|
文字列 |
関数に 2 番目の文字列引数がない場合、文字列の両方の端からホワイトスペースを削除します。関数に 2 番目の文字列引数がある場合、ホワイトスペースは削除されません。その場合、 |
|
数値 |
文字列の長さを Unicode コードポイントで返します。 |
|
文字列 |
文字列を大文字に変換します。 |
|
文字列 |
文字列を小文字に変換します。 |
|
文字列 |
数値引数で指定されたインデックスから文字列の末尾までの部分文字列を返します。関数に 2 番目の数値引数がある場合、この引数には取得される部分文字列の長さが含まれます。たとえば、 |
|
文字列 |
例えば、関数 |
|
number |
|