

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.

# Processeurs de transformation
<a name="transformation-processors"></a>

Les processeurs de transformation modifient la structure des événements du journal en ajoutant, en copiant, en déplaçant ou en supprimant des champs.

## processeur add\_entries
<a name="add-entries-processor"></a>

Ajoute des paires clé-valeur statiques aux événements du journal. Au maximum 1 `add_entries` processeur peut être ajouté à un pipeline.

**Configuration**  
Configurez le processeur add\_entries avec les paramètres suivants :

```
processor:
  - add_entries:
      entries:
        - key: "environment"
          value: "production"
          overwrite_if_key_exists: false
```Parameters

`entries` (obligatoire)  
Tableau de paires clé-valeur à ajouter à chaque événement du journal.

`entries[].key` (obligatoire)  
Nom du champ à ajouter au journal des événements. Supporte les champs imbriqués à l'aide de la notation par points.

`entries[].value` (obligatoire)  
La valeur statique à attribuer à la clé.

`entries[].overwrite_if_key_exists` (facultatif)  
Drapeau booléen qui détermine le comportement lorsque la clé existe déjà. La valeur par défaut est false.

`when` (facultatif)  
Processor-level expression conditionnelle. Lorsque cette option est spécifiée, l'ensemble du processeur est ignoré si l'expression est fausse. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

`entries[].when` (facultatif)  
Entry-level expression conditionnelle. Lorsqu'elle est spécifiée, seule cette entrée est ignorée si l'expression est fausse. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

`entries[].when_else` (facultatif)  
Entrée de secours qui s'exécute uniquement lorsqu'aucune des autres `when` conditions du même processeur ne correspond. La valeur de l'expression identifie les `when` conditions à prendre en compte. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

## processeur copy\_values
<a name="copy-values-processor"></a>

Copie les valeurs d'un champ vers un autre. Au maximum 1 `copy_values` processeur peut être ajouté à un pipeline.

**Configuration**  
Configurez le processeur copy\_values avec les paramètres suivants :

```
processor:
  - copy_values:
      entries:
        - from_key: "user_id"
          to_key: "backup_user"
          overwrite_if_to_key_exists: false
```Parameters

`entries` (obligatoire)  
Tableau d'opérations de copie à effectuer sur chaque événement du journal.

`entries[].from_key` (obligatoire)  
Le nom du champ à partir duquel copier la valeur. Utilise la notation par points pour les champs imbriqués.

`entries[].to_key` (obligatoire)  
Le nom du champ dans lequel copier la valeur. Créera des structures imbriquées si vous utilisez la notation par points.

`entries[].overwrite_if_to_key_exists` (facultatif)  
Drapeau booléen contrôlant le comportement lorsque le champ cible existe déjà. La valeur par défaut est false.

`when` (facultatif)  
Processor-level expression conditionnelle. Lorsque cette option est spécifiée, l'ensemble du processeur est ignoré si l'expression est fausse. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

`entries[].when` (facultatif)  
Entry-level expression conditionnelle. Lorsqu'elle est spécifiée, seule cette entrée est ignorée si l'expression est fausse. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

`entries[].when_else` (facultatif)  
Entrée de secours qui s'exécute uniquement lorsqu'aucune des autres `when` conditions du même processeur ne correspond. La valeur de l'expression identifie les `when` conditions à prendre en compte. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

## processeur delete\_entries
<a name="delete-entries-processor"></a>

Supprime les champs spécifiés des événements du journal.

**Configuration**  
Configurez le processeur delete\_entries avec les paramètres suivants :

```
processor:
  - delete_entries:
      with_keys: ["temp_field", "debug_info"]
```Parameters

`with_keys` (obligatoire)  
Tableau de noms de champs à supprimer de chaque événement du journal. Supporte la suppression de champs imbriqués à l'aide de la notation par points.

`when` (facultatif)  
Expression conditionnelle qui détermine si ce processeur s'exécute. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

## processeur move\_keys
<a name="move-keys-processor"></a>

Déplace les champs d'un emplacement à un autre.

**Configuration**  
Configurez le processeur move\_keys avec les paramètres suivants :

```
processor:
  - move_keys:
      entries:
        - from_key: "old_field"
          to_key: "new_field"
          overwrite_if_to_key_exists: true
```Parameters

`entries` (obligatoire)  
Ensemble d'opérations de déplacement. Maximum de 5 entrées.

`entries[].from_key` (obligatoire)  
Nom du champ source. 128 caractères maximum.

`entries[].to_key` (obligatoire)  
Nom du champ cible. 128 caractères maximum.

`entries[].overwrite_if_to_key_exists` (facultatif)  
S'il faut remplacer le champ cible existant.

`when` (facultatif)  
Processor-level expression conditionnelle. Lorsque cette option est spécifiée, l'ensemble du processeur est ignoré si l'expression est fausse. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

`entries[].when` (facultatif)  
Entry-level expression conditionnelle. Lorsqu'elle est spécifiée, seule cette entrée est ignorée si l'expression est fausse. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

`entries[].when_else` (facultatif)  
Entrée de secours qui s'exécute uniquement lorsqu'aucune des autres `when` conditions du même processeur ne correspond. La valeur de l'expression identifie les `when` conditions à prendre en compte. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

## aplatir le processeur
<a name="flatten-processor"></a>

Aplatit les structures d'objets imbriquées.

**Configuration**  
Configurez le processeur d'aplatissement avec les paramètres suivants :

```
processor:
  - flatten:
      source: "metadata"
      target: "flattened"
      remove_processed_fields: true
      exclude_keys: ["sensitive_data"]
```Parameters

`source` (obligatoire)  
Champ contenant un objet imbriqué à aplatir.

`target` (obligatoire)  
Préfixe du champ cible pour les touches aplaties.

`remove_processed_fields` (facultatif)  
S'il faut supprimer le champ imbriqué d'origine après l'aplatissement.

`exclude_keys` (facultatif)  
Tableau de clés à exclure de l'aplatissement. 20 touches maximum de 128 caractères chacune.

`when` (facultatif)  
Expression conditionnelle qui détermine si ce processeur s'exécute. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

## processeur de recherche
<a name="lookup-processor"></a>

Enrichit les événements du journal avec les données d'une table de recherche CloudWatch des journaux. Le processeur fait correspondre les champs de vos événements de journal aux champs de la table de recherche et ajoute des champs spécifiques à vos événements de journal. Utilisez ce processeur pour des scénarios d'enrichissement des données tels que le mappage des identifiants utilisateur aux informations utilisateur, des codes de produit aux informations sur les produits ou des codes d'erreur aux descriptions d'erreurs. Au maximum 1 `lookup` processeur peut être ajouté à un pipeline.

**Note**  
Si une table de recherche est utilisée dans un pipeline, vous devez fournir un rôle d'exécution avec `logs:GetLookupTable` des autorisations sur la table. Pour de plus amples informations, veuillez consulter [CloudWatch pipelines, politiques et autorisations IAM](pipeline-iam-reference.md).

**Configuration**  
Configurez le processeur de recherche avec les paramètres suivants :

```
processor:
  - lookup:
      lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:my_lookup_table"
      match_keys:
        - log_key: "src_ip"
          lookup_key: "ip_address"
      entries:
        - source: "hostname"
          target: "src_hostname"
          overwrite_if_exists: true
```Parameters

`lookup_table` (obligatoire)  
L'ARN de la table de recherche CloudWatch Logs à utiliser pour l'enrichissement. La longueur maximale est de 2 048 caractères.

`match_keys` (obligatoire)  
Tableau de paires de clés qui définissent comment faire correspondre les champs des événements du journal aux champs de la table de recherche. Minimum 1, maximum 5 touches de correspondance. Lorsque plusieurs clés de correspondance sont spécifiées, une ligne de la table de recherche doit correspondre à toutes les clés pour produire un résultat (logique AND).

`match_keys[].log_key` (obligatoire)  
Le nom du champ dans le journal des événements à comparer. 128 caractères maximum.

`match_keys[].lookup_key` (obligatoire)  
Le nom de colonne dans la table de recherche à comparer. 128 caractères maximum.

`entries` (obligatoire)  
Tableau de champs à ajouter à l'événement du journal à partir de la ligne correspondante de la table de recherche. Minimum 1, maximum 10 entrées.

`entries[].source` (obligatoire)  
Nom de colonne dans la table de recherche à partir de laquelle récupérer la valeur. 128 caractères maximum.

`entries[].target` (facultatif)  
Nom du champ à ajouter au journal des événements. S'il n'est pas spécifié, le nom de `source` colonne est utilisé comme nom de champ. 128 caractères maximum.

`entries[].overwrite_if_exists` (facultatif)  
Indicateur booléen qui détermine le comportement lorsque le champ cible existe déjà dans le journal des événements. La valeur par défaut est false.

`when` (facultatif)  
Expression conditionnelle qui détermine si ce processeur s'exécute. La longueur maximale est de 256 caractères. Consultez [Syntaxe d'expression pour le traitement conditionnel](conditional-processing.md).

**Exemple**  
Prenons l'exemple d'une table de recherche nommée `network_assets` avec les lignes suivantes :


**table de recherche network\_assets**  

| ip\_address | hostname | owner | location | 
| --- | --- | --- | --- | 
| 10,0.1.12 | serveur web-01 | team-alpha | us-east-1 | 
| 10,0.2,45 | serveur db--03 | bêta par équipe | us-west-2 | 
| 10,0.3,78 | cache-node-07 | team-alpha | eu-west-1 | 

Compte tenu de l'événement de journal suivant :

```
{
  "timestamp": "2026-05-04T12:00:00Z",
  "src_ip": "10.0.2.45",
  "action": "connection_opened",
  "bytes": 2048
}
```

Et la configuration de processeur suivante :

```
processor:
  - lookup:
      lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:network_assets"
      match_keys:
        - log_key: "src_ip"
          lookup_key: "ip_address"
      entries:
        - source: "hostname"
          target: "src_hostname"
        - source: "owner"
        - source: "location"
          target: "src_region"
          overwrite_if_exists: false
```

Le processeur produit l'événement de journal enrichi suivant :

```
{
  "timestamp": "2026-05-04T12:00:00Z",
  "src_ip": "10.0.2.45",
  "action": "connection_opened",
  "bytes": 2048,
  "src_hostname": "db-server-03",
  "owner": "team-beta",
  "src_region": "us-west-2"
}
```

**Autorisations IAM**  
Lorsqu'un pipeline utilise le processeur de recherche, le rôle d'exécution du pipeline doit inclure `logs:GetLookupTable` l'autorisation pour la table référencée. L'exemple de déclaration de politique suivant accorde cette autorisation :

```
{
  "Effect": "Allow",
  "Action": "logs:GetLookupTable",
  "Resource": "arn:aws:logs:<region>:<account-id>:lookup-table:<table-name>"
}
```