

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

`lookup`À utiliser pour enrichir les résultats de votre requête avec des données de référence issues d'une table de recherche. Une table de recherche contient des données CSV que vous chargez sur Amazon CloudWatch Logs. Lorsqu'une requête est exécutée, la `lookup` commande fait correspondre un champ de votre journal des événements à un champ de la table de recherche et ajoute les champs de sortie spécifiés aux résultats.

Utilisez les tables de recherche pour les scénarios d'enrichissement des données, tels que le mappage des informations utilisateur IDs à utilisateur, les codes de produit aux informations sur le produit ou les codes d'erreur aux descriptions d'erreurs.

## Création et gestion de tables de recherche
<a name="CWL_QuerySyntax-Lookup-tables"></a>

Avant de pouvoir utiliser la `lookup` commande dans une requête, vous devez créer une table de recherche. Vous pouvez créer et gérer des tables de recherche depuis la CloudWatch console ou à l'aide de l'API Amazon CloudWatch Logs.

**Pour créer une table de recherche (console)**  


1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation, choisissez **Paramètres**, puis l'onglet **Journaux**.

1. Accédez aux **tables de recherche**, puis sélectionnez **Gérer**.

1. Choisissez **Créer une table de recherche**.

1. Entrez un nom pour la table de recherche. Le nom ne peut contenir que des caractères alphanumériques, des traits d'union et des traits de soulignement.

1. (Facultatif) Entrez une description.

1. Téléchargez un fichier CSV. Le fichier doit inclure une ligne d'en-tête avec les noms de colonnes, utiliser le codage UTF-8 et ne pas dépasser 10 Mo.

1. (Facultatif) Spécifiez une AWS KMS clé pour chiffrer les données de la table.

1. Choisissez **Créer**.

Après avoir créé une table de recherche, vous pouvez l'afficher dans l'éditeur de requêtes CloudWatch Logs Insights. Cliquez sur l'onglet **Tables de recherche** pour parcourir les tables disponibles et leurs champs.

Pour mettre à jour une table de recherche, sélectionnez-la et choisissez **Actions**, **Mettre à jour**. Téléchargez un nouveau fichier CSV pour remplacer tout le contenu existant. Pour supprimer une table de recherche, choisissez **Actions**, **Supprimer**.

**Note**  
Vous pouvez créer jusqu'à 100 tables de recherche par compte et par compte Région AWS. Les fichiers CSV peuvent peser jusqu'à 10 Mo. Vous pouvez également gérer les tables de recherche à l'aide de l'API Amazon CloudWatch Logs. Pour plus d'informations, consultez [CreateLookupTable](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLookupTable.html)le manuel *Amazon CloudWatch Logs API Reference*.

**Note**  
Si la table de recherche est chiffrée à l'aide d'une clé KMS, l'appelant doit avoir l'`kms:Decrypt`autorisation sur la clé (la clé KMS utilisée pour chiffrer la table de recherche) d'utiliser l'`StartQuery`API avec une requête faisant référence à cette table de recherche. Pour de plus amples informations, veuillez consulter [Chiffrez les tables de recherche dans les CloudWatch journaux à l'aide de AWS Key Management Service](encrypt-lookup-tables-kms.md).

## Syntaxe de requête pour la recherche
<a name="CWL_QuerySyntax-Lookup-syntax"></a>

**Structure de commande**  
Le format de cette commande est illustré ci-dessous.

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

La commande utilise les arguments suivants :
+ `table`— Nom de la table de recherche à utiliser.
+ `lookup-field`— Le champ de la table de recherche à comparer.
+ `log-field`— Le champ correspondant dans votre journal des événements. La correspondance est exacte et distingue les majuscules et minuscules.
+ `output-mode`— Spécifiez `OUTPUT` d'ajouter les champs de sortie aux résultats. Si un champ portant le même nom existe déjà dans le journal des événements, il est remplacé.
+ `output-field`— Un ou plusieurs champs de la table de recherche à ajouter aux résultats.

**Exemple : enrichir les événements du journal avec les détails de l'utilisateur**  
Supposons que vous disposiez d'un groupe de journaux contenant des événements contenant un `id` champ et d'une table de recherche nommée `user_data` par des colonnes `id``name`,`email`, et`department`. La requête suivante enrichit chaque événement du journal avec le nom, l'adresse e-mail et le service de l'utilisateur à partir de la table de recherche.

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

**Exemple : utilisation de la recherche avec agrégation**  
Vous pouvez utiliser des champs de sortie de recherche avec des fonctions d'agrégation. La requête suivante enrichit les événements du journal avec les détails de l'utilisateur, puis compte les événements regroupés par adresse e-mail.

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

**Exemple : utiliser la recherche avec filtre**  
Vous pouvez filtrer les résultats en fonction des champs renvoyés par la recherche. La requête suivante enrichit les événements du journal, puis filtre pour n'afficher que les événements d'un département spécifique.

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