Processeurs String Mutate - Amazon CloudWatch Logs

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

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.

lowerCaseString

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

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

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 :

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

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

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

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 sur le site Web d'Oracle.

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

Nombre maximum de références arrières : 10

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

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" } }