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 JSON con mutazione
Questa sezione contiene informazioni sui processori di mutazione JSON che è possibile utilizzare con un trasformatore di eventi di registro.
AddKeys
Utilizzate il addKeys processore per aggiungere nuove coppie chiave-valore all'evento di registro.
| Campo | Description | Obbligatorio? | Predefinito | Limits |
|---|---|---|---|---|
|
voci |
Matrice di voci. Ogni elemento dell'array può contenere overwriteIfExists campi keyvalue, e. |
Sì |
Numero massimo di iscrizioni: 5 |
|
|
Chiave |
La chiave della nuova voce da aggiungere |
Sì |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
|
value |
Il valore della nuova voce da aggiungere |
Sì |
Lunghezza massima: 256 |
|
|
overwriteIfExists |
Se lo imposti sutrue, il valore esistente viene sovrascritto se key già presente nell'evento. Il valore predefinito è false. |
No |
false |
Nessun limite |
Esempio
Prendiamo il seguente esempio di evento di registro:
{ "outer_key": { "inner_key": "inner_value" } }
La configurazione del trasformatore è questa, utilizzata addKeys conparseJSON:
[ { "parseJSON": {} }, { "addKeys": { "entries": [ { "source": "outer_key.new_key", "value": "new_value" } ] } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key": { "inner_key": "inner_value", "new_key": "new_value" } }
DeleteKeys
Usa il deleteKeys processore per eliminare i campi da un evento di registro. Questi campi possono includere coppie chiave-valore.
| Campo | Description | Obbligatorio? | Predefinito | Limits |
|---|---|---|---|---|
|
Con chiavi |
L'elenco delle chiavi da eliminare. |
Sì |
Nessun limite |
Numero massimo di iscrizioni: 5 |
Esempio
Prendiamo il seguente esempio di evento di registro:
{ "outer_key": { "inner_key": "inner_value" } }
La configurazione del trasformatore è questa, utilizzata deleteKeys conparseJSON:
[ { "parseJSON": {} }, { "deleteKeys": { "withKeys":["outer_key.inner_key"] } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key": {} }
moveKeys
Usa il moveKeys processore per spostare una chiave da un campo all'altro.
| Campo | Description | Obbligatorio? | Predefinito | Limits |
|---|---|---|---|---|
|
voci |
Matrice di voci. Ogni elemento dell'array può contenere overwriteIfExists campi sourcetarget, e. |
Sì |
Numero massimo di iscrizioni: 5 |
|
|
origine |
La chiave per muoversi |
Sì |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
|
target |
La chiave verso cui passare |
Sì |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
|
overwriteIfExists |
Se lo impostate sutrue, il valore esistente viene sovrascritto se key già presente nell'evento. Il valore predefinito è false. |
No |
false |
Nessun limite |
Esempio
Prendiamo il seguente esempio di evento di registro:
{ "outer_key1": { "inner_key1": "inner_value1" }, "outer_key2": { "inner_key2": "inner_value2" } }
La configurazione del trasformatore è questa, utilizzata moveKeys conparseJSON:
[ { "parseJSON": {} }, { "moveKeys": { "entries": [ { "source": "outer_key1.inner_key1", "target": "outer_key2" } ] } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key1": {}, "outer_key2": { "inner_key2": "inner_value2", "inner_key1": "inner_value1" } }
RenameKeys
Usa il renameKeys processore per rinominare le chiavi in un evento di registro.
| Campo | Description | Obbligatorio? | Predefinito | Limits |
|---|---|---|---|---|
|
voci |
Matrice di voci. Ogni elemento dell'array può contenere overwriteIfExists campi keytarget, e. |
Sì |
Nessun limite |
Numero massimo di iscrizioni: 5 |
|
Chiave |
La chiave per rinominare |
Sì |
Nessun limite |
Lunghezza massima: 128. |
|
target |
Il nuovo nome della chiave |
Sì |
Nessun limite |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
overwriteIfExists |
Se lo impostate sutrue, il valore esistente viene sovrascritto se key già presente nell'evento. Il valore predefinito è false. |
No |
false |
Nessun limite |
Esempio
Prendiamo il seguente esempio di evento di registro:
{ "outer_key": { "inner_key": "inner_value" } }
La configurazione del trasformatore è questa, utilizzata renameKeys conparseJSON:
[ { "parseJSON": {} }, { "renameKeys": { "entries": [ { "key": "outer_key", "target": "new_key" } ] } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "new_key": { "inner_key": "inner_value" } }
CopyValue
Usa il copyValue processore per copiare i valori all'interno di un evento di registro. È inoltre possibile utilizzare questo processore per aggiungere metadati agli eventi di registro, copiando i valori delle seguenti chiavi di metadati negli eventi di registro:@logGroupName,,,@logGroupStream. @accountId @regionName Questo è illustrato nell'esempio seguente.
| Campo | Description | Obbligatorio? | Predefinito | Limits |
|---|---|---|---|---|
|
voci |
Matrice di voci. Ogni elemento dell'array può contenere overwriteIfExists campi sourcetarget, e. |
Sì |
Numero massimo di iscrizioni: 5 |
|
|
origine |
La chiave da copiare |
Sì |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
|
target |
La chiave in cui copiare il valore |
Sì |
Nessun limite |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
overwriteIfExists |
Se lo impostate sutrue, il valore esistente viene sovrascritto se key già presente nell'evento. Il valore predefinito è false. |
No |
false |
Nessun limite |
Esempio
Prendiamo il seguente esempio di evento di registro:
{ "outer_key": { "inner_key": "inner_value" } }
La configurazione del trasformatore è questa, utilizzata copyValue conparseJSON:
[ { "parseJSON": {} }, { "copyValue": { "entries": [ { "source": "outer_key.new_key", "target": "new_key" }, { "source": "@logGroupName", "target": "log_group_name" }, { "source": "@logGroupStream", "target": "log_group_stream" }, { "source": "@accountId", "target": "account_id" }, { "source": "@regionName", "target": "region_name" } ] } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key": { "inner_key": "inner_value" }, "new_key": "inner_value", "log_group_name": "myLogGroupName", "log_group_stream": "myLogStreamName", "account_id": "012345678912", "region_name": "us-east-1" }
listToMap
Il listToMap processore prende un elenco di oggetti che contengono campi chiave e li converte in una mappa di chiavi di destinazione.
| Campo | Description | Obbligatorio? | Predefinito | Limits |
|---|---|---|---|---|
|
origine |
La chiave contiene un elenco di oggetti che verranno convertiti in una mappa ProcessingEvent |
Sì |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
|
Chiave |
La chiave dei campi da estrarre come chiavi nella mappa generata |
Sì |
Lunghezza massima: 128. |
|
|
ValueKey |
Se viene specificato, i valori specificati in questo parametro verranno estratti dagli source oggetti e inseriti nei valori della mappa generata. Altrimenti, gli oggetti originali nell'elenco dei sorgenti verranno inseriti nei valori della mappa generata. |
No |
Lunghezza massima: 128. |
|
|
target |
La chiave del campo che conterrà la mappa generata |
No |
Nodo radice |
Lunghezza massima: 128. Profondità massima della chiave annidata: 3 |
|
flatten |
Un valore booleano per indicare se l'elenco verrà appiattito in singoli elementi o se i valori nella mappa generata saranno elenchi. Per impostazione predefinita, i valori per le chiavi corrispondenti saranno rappresentati in un array. |
No |
false |
|
|
Elemento appiattito |
Se impostate su flattentrue, utilizzate flattenedElement per specificare quale elemento, first olast, conservare. |
Obbligatorio quando |
Il valore può essere solo first o last |
Esempio
Prendiamo il seguente esempio di evento di registro:
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ] }
Trasformatore per il caso d'uso 1: flatten è false
[ { "parseJSON": {} }, { "listToMap": { "source": "outer_key" "key": "inner_key", "valueKey": "inner_value", "flatten": false } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ], "a": [ "val-a" ], "b": [ "val-b1", "val-b2" ], "c": [ "val-c" ] }
Trasformatore per il caso d'uso 2: flatten è true ed flattenedElement è first
[ { "parseJSON": {} }, { "listToMap": { "source": "outer_key" "key": "inner_key", "valueKey": "inner_value", "flatten": true, "flattenedElement": "first" } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ], "a": "val-a", "b": "val-b1", "c": "val-c" }
Trasformatore per il caso d'uso 3: flatten è true ed flattenedElement è last
[ { "parseJSON": {} }, { "listToMap": { "source": "outer_key" "key": "inner_key", "valueKey": "inner_value", "flatten": true, "flattenedElement": "last" } } ]
L'evento di registro trasformato sarebbe il seguente.
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ], "a": "val-a", "b": "val-b2", "c": "val-c" }