

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 String Mutate
<a name="CloudWatch-Logs-Transformation-StringMutate"></a>

Cette section contient des informations sur les processeurs de mutation de chaîne que vous pouvez utiliser avec un transformateur d'événements de journalisation. 

**Contents**
+ [lowerCaseString](#CloudWatch-Logs-Transformation-lowerCaseString)
+ [upperCaseString](#CloudWatch-Logs-Transformation-upperCaseString)
+ [Chaîne divisée](#CloudWatch-Logs-Transformation-splitString)
+ [Chaîne de remplacement](#CloudWatch-Logs-Transformation-substituteString)
+ [TrimString](#CloudWatch-Logs-Transformation-trimString)

## lowerCaseString
<a name="CloudWatch-Logs-Transformation-lowerCaseString"></a>

Le `lowerCaseString` processeur convertit une chaîne en sa version minuscule.


| Champ | Description | Obligatoire ? | Par défaut | Restrictions | 
| --- | --- | --- | --- | --- | 
| Avec clés | Une liste de clés à convertir en minuscules | Oui |  | Nombre maximum d'entrées : 10 | 

**Exemple**

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key": "INNER_VALUE"
    }
}
```

La configuration du transformateur est la suivante, `lowerCaseString` en utilisant `parseJSON` :

```
[
    {
        "parseJSON": {}
    },
    {
        "lowerCaseString": {
            "withKeys":["outer_key.inner_key"]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key": "inner_value"
  }
}
```

## upperCaseString
<a name="CloudWatch-Logs-Transformation-upperCaseString"></a>

Le `upperCaseString` processeur convertit une chaîne en sa version majuscule.


| Champ | Description | Obligatoire ? | Par défaut | Restrictions | 
| --- | --- | --- | --- | --- | 
| Avec clés | Une liste de clés à convertir en majuscules | Oui |  | Nombre maximum d'entrées : 10 | 

**Exemple**

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key": "inner_value"
    }
}
```

La configuration du transformateur est la suivante, `upperCaseString` en utilisant `parseJSON` :

```
[
    {
        "parseJSON": {}
    },
    {
        "upperCaseString": {
            "withKeys":["outer_key.inner_key"]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key": "INNER_VALUE"
  }
}
```

## Chaîne divisée
<a name="CloudWatch-Logs-Transformation-splitString"></a>

Le `splitString` processeur est un type de processeur à mutation de chaîne qui divise un champ en un tableau à l'aide d'un caractère de délimitation.


| Champ | Description | Obligatoire ? | Par défaut | Restrictions | 
| --- | --- | --- | --- | --- | 
| entries | Tableau d'entrées. Chaque élément du tableau doit contenir source des delimiter champs. | Oui |  | Nombre maximum d'entrées : 10 | 
| source | La clé de la valeur du champ à diviser | Oui |  | Longueur maximale : 128 | 
| delimiter | La chaîne de délimitation sur laquelle diviser la valeur du champ | Oui |  | Longueur maximale : 128 | 

**Exemple 1**

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key": "inner_value"
    }
}
```

La configuration du transformateur est la suivante, `splitString` en utilisant `parseJSON` :

```
[
     {
        "parseJSON": {}
    },
    {
         "splitString": {
            "entries": [
                {
                    "source": "outer_key.inner_key",
                    "delimiter": "_"
                }
            ]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key": [
      "inner",
      "value"
    ]
  }
}
```

**Exemple 2**

Le délimiteur sur lequel la chaîne doit être divisée peut comporter plusieurs caractères.

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key": "item1, item2, item3"
    }
}
```

La configuration du transformateur est la suivante :

```
[
     {
        "parseJSON": {}
    },
    {
         "splitString": {
            "entries": [
                {
                    "source": "outer_key.inner_key",
                    "delimiter": ", "
                }
            ]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key": [
      "item1",
      "item2",
      "item3"
    ]
  }
}
```

## Chaîne de remplacement
<a name="CloudWatch-Logs-Transformation-substituteString"></a>

Le `substituteString` processeur est un type de processeur de mutation de chaîne qui fait correspondre la valeur d'une clé à une expression régulière et remplace toutes les correspondances par une chaîne de remplacement.


| Champ | Description | Obligatoire ? | Par défaut | Restrictions | 
| --- | --- | --- | --- | --- | 
| entries | Tableau d'entrées. Chaque élément du tableau doit contenir des to champs sourcefrom, et. | Oui |  | Nombre maximum d'entrées : 10 | 
| source | La clé du champ à modifier | Oui |  | Longueur maximale : 128<br />Profondeur maximale des touches imbriquées : 3 | 
| from | Chaîne d'expression régulière à remplacer. Les caractères réguliers spéciaux tels que [et] doivent être évités en utilisant \\ \\ lorsque vous utilisez des guillemets doubles et avec \\ lorsque vous utilisez des guillemets simples ou lorsqu'ils sont configurés à partir du AWS Management Console. Pour plus d'informations, consultez [Class Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html) sur le site Web d'Oracle.<br />Vous pouvez intégrer un motif `(...)` pour créer un groupe de capture numéroté et créer des groupes de capture `(?P<group_name>...)` nommés qui peuvent être référencés `to` sur le terrain. | Oui |  | Longueur maximale : 128 | 
| to | La chaîne à substituer pour chaque correspondance de from références arrières à des groupes de capture peut être utilisée. Utilisez le formulaire $n  pour les groupes numérotés tels que $1 et utilisez-le ${group\_name} pour les groupes nommés tels que ${my\_group}. > | Oui |  | Longueur maximale : 128<br />Nombre maximum de références arrières : 10<br />Nombre maximum de références arrières dupliquées : 2 | 

**Exemple 1**

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key1": "[]",
        "inner_key2": "123-345-567",
        "inner_key3": "A cat takes a catnap."
    }
}
```

La configuration du transformateur est la suivante, `substituteString` en utilisant `parseJSON` :

```
[
    {
        "parseJSON": {}
    },
    {
        "substituteString": {
            "entries": [
                {
                    "source": "outer_key.inner_key1",
                    "from": "\\[\\]",
                    "to": "value1"
                },
                {
                    "source": "outer_key.inner_key2",
                    "from": "[0-9]{3}-[0-9]{3}-[0-9]{3}",
                    "to": "xxx-xxx-xxx"
                },
                {
                    "source": "outer_key.inner_key3",
                    "from": "cat",
                    "to": "dog"
                }
            ]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key1": "value1",
    "inner_key2": "xxx-xxx-xxx",
    "inner_key3": "A dog takes a dognap."
  }
}
```

**Exemple 2**

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key1": "Tom, Dick, and Harry",
        "inner_key2": "arn:aws:sts::123456789012:assumed-role/MyImportantRole/MySession"
    }
}
```

La configuration du transformateur est la suivante, `substituteString` en utilisant `parseJSON` :

```
[
    {
        "parseJSON": {}
    },
    {
        "substituteString": {
            "entries": [
                {
                    "source": "outer_key.inner_key1",
                    "from": "(\w+), (\w+), and (\w+)",
                    "to": "$1 and $3"
                },
                {
                    "source": "outer_key.inner_key2",
                    "from": "^arn:aws:sts::(?P<account_id>\\d{12}):assumed-role/(?P<role_name>[\\w+=,.@-]+)/(?P<role_session_name>[\\w+=,.@-]+)$",
                    "to": "${account_id}:${role_name}:${role_session_name}"
                }
            ]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key1": "Tom and Harry",
    "inner_key2": "123456789012:MyImportantRole:MySession"
  }
}
```

## TrimString
<a name="CloudWatch-Logs-Transformation-trimString"></a>

Le `trimString` processeur supprime les espaces entre le début et la fin d'une touche.


| Champ | Description | Obligatoire ? | Par défaut | Restrictions | 
| --- | --- | --- | --- | --- | 
| Avec clés | Une liste de clés à découper | Oui |  | Nombre maximum d'entrées : 10 | 

**Exemple**

Prenons l'exemple d'événement de journal suivant :

```
{
    "outer_key": {
        "inner_key": "   inner_value  "
    }
}
```

La configuration du transformateur est la suivante, `trimString` en utilisant `parseJSON` :

```
[
    {
        "parseJSON": {}
    },
    {
        "trimString": {
            "withKeys":["outer_key.inner_key"]
        }
    }
]
```

L'événement du journal transformé serait le suivant.

```
{
  "outer_key": {
    "inner_key": "inner_value"
  }
}
```