Procesadores de transformación
Los procesadores de transformación modifican la estructura de los eventos del registro mediante la adición, la copia, el desplazamiento o la eliminación de campos.
Procesador add_entries
Agrega pares clave-valor estáticos a eventos de registro. Se puede agregar un máximo de 1 procesador add_entries a una canalización.
Configuración
Configure el procesador add_entries con los siguientes parámetros:
processor: - add_entries: entries: - key: "environment" value: "production" overwrite_if_key_exists: false
Parameters
entries(obligatorio)-
Matriz de pares clave-valor que se agregarán a cada evento de registro.
entries[].key(obligatorio)-
Nombre del campo que se agregará al evento de registro. Admite campos anidados mediante notación de puntos.
entries[].value(obligatorio)-
Valor estático que se asignará a la clave.
entries[].overwrite_if_key_exists(opcional)-
Indicador booleano que determina el comportamiento cuando la clave ya existe. El valor predeterminado es falso.
when(opcional)-
Expresión condicional de procesador. Si se especifica, se omite todo el procesador si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
entries[].when(opcional)-
Expresión condicional de entrada. Si se especifica, solo se omite esta entrada si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
entries[].when_else(opcional)-
Entrada alternativa que se pone en marcha solo cuando ninguna de las otras condiciones
whendel mismo procesador se cumplió. El valor de la expresión identifica qué condicioneswhense deben tener en cuenta. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
Procesador copy_values
Copia valores de un campo a otro. Se puede agregar un máximo de 1 procesador copy_values a una canalización.
Configuración
Configure el procesador copy_values con los siguientes parámetros:
processor: - copy_values: entries: - from_key: "user_id" to_key: "backup_user" overwrite_if_to_key_exists: false
Parameters
entries(obligatorio)-
Matriz de operaciones de copia que se llevarán a cabo en cada evento de registro.
entries[].from_key(obligatorio)-
Nombre del campo desde el que se copiará el valor. Utiliza la notación de puntos para campos anidados.
entries[].to_key(obligatorio)-
Nombre del campo al que se copiará el valor. Creará estructuras anidadas si se utiliza la notación de puntos.
entries[].overwrite_if_to_key_exists(opcional)-
Indicador booleano que controla el comportamiento cuando el campo de destino ya existe. El valor predeterminado es falso.
when(opcional)-
Expresión condicional de procesador. Si se especifica, se omite todo el procesador si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
entries[].when(opcional)-
Expresión condicional de entrada. Si se especifica, solo se omite esta entrada si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
entries[].when_else(opcional)-
Entrada alternativa que se pone en marcha solo cuando ninguna de las otras condiciones
whendel mismo procesador se cumplió. El valor de la expresión identifica qué condicioneswhense deben tener en cuenta. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
Procesador delete_entries
Elimina los campos especificados de los eventos de registro.
Configuración
Configure el procesador delete_entries con los siguientes parámetros:
processor: - delete_entries: with_keys: ["temp_field", "debug_info"]
Parameters
with_keys(obligatorio)-
Matriz de nombres de campos que se eliminarán de cada evento de registro. Admite la eliminación de campos anidados mediante la notación de puntos.
when(opcional)-
Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
Procesador move_keys
Desplaza campos de una ubicación a otra.
Configuración
Configure el procesador move_keys con los siguientes parámetros:
processor: - move_keys: entries: - from_key: "old_field" to_key: "new_field" overwrite_if_to_key_exists: true
Parameters
entries(obligatorio)-
Matriz de operaciones de desplazamiento. Número máximo de entradas: 5.
entries[].from_key(obligatorio)-
Nombre del campo de origen. 128 caracteres como máximo.
entries[].to_key(obligatorio)-
Nombre del campo de destino. 128 caracteres como máximo.
entries[].overwrite_if_to_key_exists(opcional)-
Si se debe sobrescribir el campo de destino existente.
when(opcional)-
Expresión condicional de procesador. Si se especifica, se omite todo el procesador si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
entries[].when(opcional)-
Expresión condicional de entrada. Si se especifica, solo se omite esta entrada si la expresión se evalúa como falsa. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
entries[].when_else(opcional)-
Entrada alternativa que se pone en marcha solo cuando ninguna de las otras condiciones
whendel mismo procesador se cumplió. El valor de la expresión identifica qué condicioneswhense deben tener en cuenta. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
Procesador flatten
Aplana estructuras de objetos anidados.
Configuración
Configure el procesador flatten con los siguientes parámetros:
processor: - flatten: source: "metadata" target: "flattened" remove_processed_fields: true exclude_keys: ["sensitive_data"]
Parameters
source(obligatorio)-
Campo que contiene el objeto anidado que aplanará.
target(obligatorio)-
Prefijo del campo de destino para claves aplanadas.
remove_processed_fields(opcional)-
Si se debe eliminar el campo anidado original después del aplanamiento.
exclude_keys(opcional)-
Matriz de claves que se excluirán del aplanamiento. Máximo de 20 claves, cada una de hasta 128 caracteres.
when(opcional)-
Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
procesador de búsqueda
Enriquece los eventos de registro con datos de una tabla de consulta de Registros de CloudWatch. El procesador compara los campos de los eventos de registro con los campos de la tabla de consulta y agrega los campos especificados a los eventos de registro. Utilice este procesador para situaciones de enriquecimiento de datos, como asignar los ID de usuario a los detalles del usuario, los códigos de producto a la información del producto o los códigos de error a las descripciones de errores. Se puede agregar un máximo de 1 procesador lookup a una canalización.
nota
Si se utiliza una tabla de consulta en una canalización, debe proporcionar un rol de ejecución con los permisos logs:GetLookupTable sobre la tabla. Para obtener más información, consulte Permisos y políticas de IAM para canalizaciones de CloudWatch.
Configuración
Configure el procesador de consulta con los siguientes parámetros:
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(obligatorio)-
El ARN de la tabla de búsqueda de Registros de CloudWatch que se usa para el enriquecimiento. La longitud máxima es de 2 048 caracteres.
match_keys(obligatorio)-
Matriz de pares de claves que definen cómo relacionar los campos de eventos de registro con los campos de la tabla de búsqueda. Mínimo 1, máximo 5 claves coincidentes. Cuando se especifican varias claves de coincidencia, una fila de la tabla de consulta debe coincidir con todas las claves para obtener un resultado (lógica AND).
match_keys[].log_key(obligatorio)-
El nombre del campo del evento de registro con el que se va a buscar la coincidencia. 128 caracteres como máximo.
match_keys[].lookup_key(obligatorio)-
El nombre de la columna de la tabla de consulta con el que se va a buscar la coincidencia. 128 caracteres como máximo.
entries(obligatorio)-
Matriz de campos que se agregarán al evento de registro de la fila de la tabla de búsqueda de coincidencias. Mínimo 1, máximo 10 entradas.
entries[].source(obligatorio)-
El nombre de la columna de la tabla de consulta de la que se va a recuperar el valor. 128 caracteres como máximo.
entries[].target(opcional)-
Nombre del campo que se agregará al evento de registro. Si no se especifica, el nombre de la columna
sourcese utiliza como nombre del campo. 128 caracteres como máximo. entries[].overwrite_if_exists(opcional)-
Indicador booleano que determina el comportamiento cuando el campo de destino ya existe en el evento de registro. El valor predeterminado es falso.
when(opcional)-
Expresión condicional que determina si este procesador se pone en marcha. La longitud máxima es de 256 caracteres. Consulte Sintaxis de expresiones para el procesamiento condicional.
Ejemplo
Considere una tabla de consulta denominada network_assets con las siguientes filas:
| ip_address | hostname | owner | ubicación |
|---|---|---|---|
| 10.0.1.12 | web-server-01 | team-alpha | us-east-1 |
| 10.0.2.45 | db-server-03 | team-beta | us-west-2 |
| 10.0.3.78 | cache-node-07 | team-alpha | eu-west-1 |
Dado el siguiente evento de registro:
{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048 }
Y la siguiente configuración de procesador:
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
El procesador produce el siguiente evento de registro enriquecido:
{ "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" }
Permisos de IAM
Cuando una canalización utiliza el procesador de consulta, el rol de ejecución de la canalización debe incluir el permiso logs:GetLookupTable para la tabla a la que se hace referencia. La instrucción de la siguiente política de ejemplo concede este permiso:
{ "Effect": "Allow", "Action": "logs:GetLookupTable", "Resource": "arn:aws:logs:<region>:<account-id>:lookup-table:<table-name>" }