

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# lookup
<a name="CWL_QuerySyntax-Lookup"></a>

を使用して`lookup`、ルックアップテーブルからの参照データを使用してクエリ結果を強化します。ルックアップテーブルには、Amazon CloudWatch Logs にアップロードする CSV データが含まれています。クエリが実行されると、 `lookup` コマンドはログイベントのフィールドをルックアップテーブルのフィールドと照合し、指定された出力フィールドを結果に追加します。

ユーザー IDsユーザーの詳細にマッピングする、製品コードを製品情報にマッピングする、エラーコードをエラーの説明にマッピングするなどのデータエンリッチメントシナリオには、ルックアップテーブルを使用します。

## ルックアップテーブルの作成と管理
<a name="CWL_QuerySyntax-Lookup-tables"></a>

クエリで `lookup` コマンドを使用する前に、ルックアップテーブルを作成する必要があります。ルックアップテーブルは、CloudWatch コンソールから、または Amazon CloudWatch Logs API を使用して作成および管理できます。

**ルックアップテーブルを作成するには (コンソール)**  


1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、**設定**を選択し、**ログ**タブを選択します。

1. **ルックアップテーブル**までスクロールし、**管理**を選択します。

1. **ルックアップテーブルの作成** を選択します。

1. ルックアップテーブルの名前を入力します。名前には、英数字、ハイフン、アンダースコアのみを含めることができます。

1. (オプション) 説明を入力します。

1. CSV ファイルをアップロードします。ファイルには、列名を含むヘッダー行を含める必要があり、UTF-8 エンコーディングを使用し、10 MB を超えることはできません。

1. (オプション) テーブルデータを暗号化する AWS KMS キーを指定します。

1. **[作成]** を選択します。

ルックアップテーブルを作成したら、CloudWatch Logs Insights クエリエディタで表示できます。**Lookup tables** タブを選択して、使用可能なテーブルとそのフィールドを参照します。

ルックアップテーブルを更新するには、テーブルを選択し、**アクション**、**更新**を選択します。新しい CSV ファイルをアップロードして、既存のすべてのコンテンツを置き換えます。ルックアップテーブルを削除するには、**アクション**、**削除**を選択します。

**注記**  
アカウントごとに、 ごとに最大 100 個のルックアップテーブルを作成できます AWS リージョン。CSV ファイルは最大 10 MB です。Amazon CloudWatch Logs API を使用してルックアップテーブルを管理することもできます。詳細については、*Amazon CloudWatch Logs API リファレンス*の「[CreateLookupTable](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLookupTable.html)」を参照してください。

**注記**  
ルックアップテーブルが KMS キーで暗号化されている場合、そのルックアップテーブルを参照するクエリで `StartQuery` API を使用するには、呼び出し元がキー (ルックアップテーブルの暗号化に使用される KMS キー) に対する`kms:Decrypt`アクセス許可を持っている必要があります。詳細については、「[を使用して CloudWatch Logs のルックアップテーブルを暗号化する AWS Key Management Service](encrypt-lookup-tables-kms.md)」を参照してください。

## 検索のクエリ構文
<a name="CWL_QuerySyntax-Lookup-syntax"></a>

**コマンド構造**  
このコマンドの形式を次に示します。

```
lookup table lookup-field as log-field [,...] output-mode output-field[,...]
```

コマンドは、次の引数を使用します。
+ `table` – 使用するルックアップテーブルの名前。
+ `lookup-field` – 照合するルックアップテーブルのフィールド。
+ `log-field` – 一致するログイベントのフィールド。一致は完全で大文字と小文字が区別されます。
+ `output-mode` – 出力フィールドを結果`OUTPUT`に追加するには、 を指定します。ログイベントに同じ名前のフィールドがすでに存在する場合、上書きされます。
+ `output-field` – 結果に追加するルックアップテーブルの 1 つ以上のフィールド。

**例: ユーザーの詳細を使用してログイベントを強化する**  
`id` フィールドを含むイベントを含むロググループと、列 `id`、、`name`、`email`および `user_data`を含む という名前のルックアップテーブルがあるとします`department`。次のクエリは、各ログイベントをルックアップテーブルのユーザー名、E メール、部門で強化します。

```
fields action, status, name, email, department
| lookup user_data id OUTPUT name, email, department
```

**例: 集計でルックアップを使用する**  
集計関数でルックアップ出力フィールドを使用できます。次のクエリは、ユーザーの詳細を含むログイベントを強化し、E メールアドレス別にグループ化されたイベントをカウントします。

```
fields user_id, action, username, email, department
| lookup user_data user_id OUTPUT username, email, department
| stats count(*) by email
```

**例: フィルターでルックアップを使用する**  
ルックアップによって返されたフィールドに基づいて結果をフィルタリングできます。次のクエリは、ログイベントを強化し、特定の部門のイベントのみを表示するようにフィルタリングします。

```
fields user_id, action
| lookup user_data user_id OUTPUT username, email, department
| filter department = "Engineering"
```