

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Processori di trasformazione
<a name="transformation-processors"></a>

I processori di trasformazione modificano la struttura degli eventi di registro aggiungendo, copiando, spostando o rimuovendo campi.

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

Aggiunge coppie chiave-valore statiche per registrare gli eventi. È possibile aggiungere al massimo 1 `add_entries` processore a una pipeline.

**Configurazione**  
Configura il processore add\_entries con i seguenti parametri:

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

`entries`(richiesto)  
Matrice di coppie chiave-valore da aggiungere a ogni evento di registro.

`entries[].key`(richiesto)  
Il nome del campo da aggiungere all'evento di registro. Supporta campi annidati utilizzando la notazione a punti.

`entries[].value`(obbligatorio)  
Il valore statico da assegnare alla chiave.

`entries[].overwrite_if_key_exists` (facoltativo)  
Bandiera booleana che determina il comportamento quando la chiave esiste già. Il valore predefinito è false (falso).

`when` (facoltativo)  
Processor-level espressione condizionale. Quando specificato, l'intero processore viene ignorato se l'espressione restituisce false. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

`entries[].when` (facoltativo)  
Entry-level espressione condizionale. Quando specificato, solo questa voce viene ignorata se l'espressione restituisce false. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

`entries[].when_else` (facoltativo)  
Voce di fallback che viene eseguita solo quando nessuna delle altre `when` condizioni nello stesso processore soddisfa. Il valore dell'espressione identifica le condizioni da considerare. `when` La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

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

Copia i valori da un campo all'altro. È possibile aggiungere al massimo 1 `copy_values` processore a una pipeline.

**Configurazione**  
Configura il processore copy\_values con i seguenti parametri:

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

`entries`(richiesto)  
Serie di operazioni di copia da eseguire su ogni evento di registro.

`entries[].from_key`(richiesto)  
Il nome del campo da cui copiare il valore. Utilizza la notazione a punti per i campi annidati.

`entries[].to_key`(obbligatorio)  
Il nome del campo in cui copiare il valore. Creerà strutture annidate se si utilizza la notazione a punti.

`entries[].overwrite_if_to_key_exists` (facoltativo)  
La bandiera booleana controlla il comportamento quando il campo di destinazione esiste già. Il valore predefinito è false (falso).

`when` (facoltativo)  
Processor-level espressione condizionale. Quando specificato, l'intero processore viene ignorato se l'espressione restituisce false. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

`entries[].when` (facoltativo)  
Entry-level espressione condizionale. Quando specificato, solo questa voce viene ignorata se l'espressione restituisce false. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

`entries[].when_else` (facoltativo)  
Voce di fallback che viene eseguita solo quando nessuna delle altre `when` condizioni nello stesso processore soddisfa. Il valore dell'espressione identifica le condizioni da considerare. `when` La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

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

Rimuove i campi specificati dagli eventi di registro.

**Configurazione**  
Configura il processore delete\_entries con i seguenti parametri:

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

`with_keys`(richiesto)  
Matrice di nomi di campo da rimuovere da ogni evento di registro. Supporta l'eliminazione di campi annidati utilizzando la notazione a punti.

`when` (facoltativo)  
Espressione condizionale che determina se questo processore viene eseguito. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

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

Sposta i campi da una posizione all'altra.

**Configurazione**  
Configura il processore move\_keys con i seguenti parametri:

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

`entries`(richiesto)  
Una serie di operazioni di spostamento. Massimo 5 iscrizioni.

`entries[].from_key`(richiesto)  
Nome del campo sorgente. Massimo 128 caratteri.

`entries[].to_key`(richiesto)  
Nome del campo di destinazione. Massimo 128 caratteri.

`entries[].overwrite_if_to_key_exists` (facoltativo)  
Se sovrascrivere il campo di destinazione esistente.

`when` (facoltativo)  
Processor-level espressione condizionale. Quando specificato, l'intero processore viene ignorato se l'espressione restituisce false. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

`entries[].when` (facoltativo)  
Entry-level espressione condizionale. Quando specificato, solo questa voce viene ignorata se l'espressione restituisce false. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

`entries[].when_else` (facoltativo)  
Voce di fallback che viene eseguita solo quando nessuna delle altre `when` condizioni nello stesso processore soddisfa. Il valore dell'espressione identifica le condizioni da considerare. `when` La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

## appiattisci il processore
<a name="flatten-processor"></a>

Appiattisce le strutture degli oggetti annidati.

**Configurazione**  
Configura il processore flatten con i seguenti parametri:

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

`source`(richiesto)  
Campo contenente l'oggetto annidato da appiattire.

`target`(obbligatorio)  
Prefisso del campo di destinazione per chiavi appiattite.

`remove_processed_fields` (facoltativo)  
Se rimuovere il campo nidificato originale dopo l'appiattimento.

`exclude_keys` (facoltativo)  
Matrice di chiavi da escludere dall'appiattimento. Massimo 20 tasti, ciascuno con un massimo di 128 caratteri.

`when` (facoltativo)  
Espressione condizionale che determina se questo processore viene eseguito. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

## processore di ricerca
<a name="lookup-processor"></a>

Arricchisce gli eventi di registro con i dati di una tabella di ricerca CloudWatch Logs. Il processore abbina i campi degli eventi di registro con i campi della tabella di ricerca e aggiunge i campi specificati agli eventi di registro. Utilizzate questo processore per scenari di arricchimento dei dati, come la mappatura degli ID utente ai dettagli dell'utente, dei codici prodotto alle informazioni sul prodotto o dei codici di errore alle descrizioni degli errori. È possibile aggiungere al massimo 1 `lookup` processore a una pipeline.

**Nota**  
Se una tabella di ricerca viene utilizzata in una pipeline, è necessario fornire un ruolo di esecuzione con `logs:GetLookupTable` autorizzazioni sulla tabella. Per ulteriori informazioni, consulta [CloudWatch pipeline, politiche e autorizzazioni IAM](pipeline-iam-reference.md).

**Configurazione**  
Configura il processore di ricerca con i seguenti parametri:

```
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`(richiesto)  
L'ARN della tabella di ricerca CloudWatch Logs da utilizzare per l'arricchimento. La lunghezza massima è 2048 caratteri.

`match_keys`(richiesto)  
Matrice di coppie di chiavi che definiscono come abbinare i campi degli eventi di registro ai campi della tabella di ricerca. Minimo 1, massimo 5 chiavi di corrispondenza. Quando vengono specificate più chiavi di corrispondenza, una riga della tabella di ricerca deve corrispondere a tutte le chiavi per produrre un risultato (logica AND).

`match_keys[].log_key`(obbligatorio)  
Il nome del campo nell'evento di registro con cui confrontare. Massimo 128 caratteri.

`match_keys[].lookup_key`(obbligatorio)  
Il nome della colonna nella tabella di ricerca con cui confrontare. Massimo 128 caratteri.

`entries`(obbligatorio)  
Matrice di campi da aggiungere all'evento di registro dalla riga della tabella di ricerca corrispondente. Minimo 1, massimo 10 voci.

`entries[].source`(richiesto)  
Il nome della colonna nella tabella di ricerca da cui recuperare il valore. Massimo 128 caratteri.

`entries[].target` (facoltativo)  
Il nome del campo da aggiungere all'evento di registro. Se non specificato, il nome della `source` colonna viene utilizzato come nome del campo. Massimo 128 caratteri.

`entries[].overwrite_if_exists` (facoltativo)  
Bandiera booleana che determina il comportamento quando il campo di destinazione esiste già nell'evento di registro. Il valore predefinito è false (falso).

`when` (facoltativo)  
Espressione condizionale che determina se questo processore viene eseguito. La lunghezza massima è 256 caratteri. Per informazioni, consulta [Sintassi delle espressioni per l'elaborazione condizionale](conditional-processing.md).

**Esempio**  
Consideriamo una tabella di ricerca denominata `network_assets` con le seguenti righe:


**tabella di ricerca network\_assets**  

| ip\_address | hostname | owner | location | 
| --- | --- | --- | --- | 
| 10.0.1.12 | server web-01 | squadra-alfa | us-east-1 | 
| 10.0.2.45 | server-03 db | beta di squadra | us-west-2 | 
| 10.0.3.78 | nodo cache-07 | squadra-alfa | eu-west-1 | 

Dato il seguente evento di registro:

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

E la seguente configurazione del processore:

```
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
```

Il processore produce il seguente evento di registro arricchito:

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

**autorizzazioni IAM**  
Quando una pipeline utilizza il processore di ricerca, il ruolo di esecuzione della pipeline deve includere l'`logs:GetLookupTable`autorizzazione per la tabella di riferimento. La seguente dichiarazione politica di esempio concede questa autorizzazione:

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