

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Procesadores de mutación de cadena
<a name="CloudWatch-Logs-Transformation-StringMutate"></a>

Esta sección contiene información sobre los procesadores de mutación de cadenas que puede utilizar con un transformador de eventos de registro. 

**Contents**
+ [lowerCaseString](#CloudWatch-Logs-Transformation-lowerCaseString)
+ [upperCaseString](#CloudWatch-Logs-Transformation-upperCaseString)
+ [splitString](#CloudWatch-Logs-Transformation-splitString)
+ [substituteString](#CloudWatch-Logs-Transformation-substituteString)
+ [trimString](#CloudWatch-Logs-Transformation-trimString)

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

El procesador `lowerCaseString` convierte una cadena a su versión en minúsculas.


| Campo | Description (Descripción) | ¿Obligatorio? | Predeterminado | Límites | 
| --- | --- | --- | --- | --- | 
| withKeys | Una lista de claves para convertir a minúsculas | Sí |  | Número máximo de entradas: 10 | 

**Ejemplo**

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente, y utiliza `lowerCaseString` con `parseJSON`:

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

El evento de registro transformado sería el siguiente.

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

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

El procesador `upperCaseString` convierte una cadena a su versión en mayúsculas.


| Campo | Description (Descripción) | ¿Obligatorio? | Predeterminado | Límites | 
| --- | --- | --- | --- | --- | 
| withKeys | Una lista de claves para convertir a mayúsculas | Sí |  | Número máximo de entradas: 10 | 

**Ejemplo**

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente, y utiliza `upperCaseString` con `parseJSON`:

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

El evento de registro transformado sería el siguiente.

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

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

El procesador `splitString` es un tipo de procesador de mutaciones de cadenas que divide un campo en una matriz con un carácter delimitador.


| Campo | Description (Descripción) | ¿Obligatorio? | Predeterminado | Límites | 
| --- | --- | --- | --- | --- | 
| entries | Matriz de entradas. Cada elemento de la matriz debe contener los campos source y delimiter. | Sí |  | Número máximo de entradas: 10 | 
| origen | La clave del valor del campo que se va a dividir | Sí |  | Longitud máxima: 128 | 
| delimiter | La cadena delimitadora en la que se divide el valor del campo | Sí |  | Longitud máxima: 128 | 

**Ejemplo 1**

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente, y utiliza `splitString` con `parseJSON`:

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

El evento de registro transformado sería el siguiente.

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

**Ejemplo 2**

El delimitador en el que se divide la cadena puede tener varios caracteres.

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente:

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

El evento de registro transformado sería el siguiente.

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

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

El procesador `substituteString` es un tipo de procesador de mutaciones de cadenas que compara el valor de una clave con el de una expresión regular y reemplaza todas las coincidencias por una cadena de reemplazo.


| Campo | Description (Descripción) | ¿Obligatorio? | Predeterminado | Límites | 
| --- | --- | --- | --- | --- | 
| entries | Matriz de entradas. Cada elemento de la matriz debe contener los campos source, from y to. | Sí |  | Número máximo de entradas: 10 | 
| origen | La clave del campo que se va a modificar | Sí |  | Longitud máxima: 128<br />Profundidad máxima de clave anidada: 3 | 
| desde | La cadena de expresión regular que se sustituirá. Los caracteres de expresiones regulares especiales, como [ y ], deben estar separados por \\\\ cuando se usan comillas dobles y con \\ cuando se usan comillas simples o cuando se configuran desde la Consola de administración de AWS. Para obtener más información, consulte [Class Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html) en el sitio web de Oracle.<br />Se puede concluir un patrón en `(...)` para crear un grupo de captura numerado y crear grupos de captura con el nombre `(?P<group_name>...)` a los que se pueda hacer referencia en el campo `to`. | Sí |  | Longitud máxima: 128 | 
| a | Se puede utilizar la cadena que se sustituirá por cada coincidencia de las retroreferencias from con los grupos de captura. Use la forma $n para grupos numerados, como, por ejemplo, $1, y use ${group\_name} para grupos con nombre, como ${my\_group}.> | Sí |  | Longitud máxima: 128<br />Número de retroreferencias: 10<br />Número máximo de retroreferencias duplicadas: 2 | 

**Ejemplo 1**

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente, y utiliza `substituteString` con `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"
                }
            ]
        }
    }
]
```

El evento de registro transformado sería el siguiente.

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

**Ejemplo 2**

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente, y utiliza `substituteString` con `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}"
                }
            ]
        }
    }
]
```

El evento de registro transformado sería el siguiente.

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

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

El procesador `trimString` elimina los espacios en blanco desde el principio y el final de una clave.


| Campo | Description (Descripción) | ¿Obligatorio? | Predeterminado | Límites | 
| --- | --- | --- | --- | --- | 
| withKeys | Una lista de claves que se recortarán | Sí |  | Número máximo de entradas: 10 | 

**Ejemplo**

Ejemplo de evento de registro de muestra:

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

La configuración del transformador es la siguiente, y utiliza `trimString` con `parseJSON`:

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

El evento de registro transformado sería el siguiente.

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