

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à.

# Operazioni e regole di trasformazione
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations"></a>

Puoi utilizzare le operazioni di trasformazione per specificare le trasformazioni che desideri applicare alla tabella selezionata, allo schema selezionato o alla vista selezionata. Le regole di trasformazione sono opzionali. 

## Limitazioni
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Limitations"></a>
+ Non è possibile applicare più di un'azione della regola di trasformazione sullo stesso oggetto (schema, tabella, colonna, table-tablespace o index-tablespace). È possibile applicare diverse azioni delle regole di trasformazione a qualsiasi livello, purché ogni azione di trasformazione venga applicata a un oggetto diverso. Tuttavia, questa restrizione non è applicabile quando si utilizzano regole di trasformazione con mascheramento dei dati in cui è possibile avere un'altra trasformazione simile o per la stessa colonna. `ADD-COLUMN` `CHANGE-DATA-TYPE`
+ I nomi di tabella e di colonna nelle regole di trasformazione rispettano la distinzione tra maiuscole e minuscole. Ad esempio, è necessario specificare in maiuscolo i nomi delle tabelle e delle colonne per un database Oracle o Db2.
+ Le trasformazioni non sono supportate per i nomi di colonna con lingue. Right-to-Left
+ Le trasformazioni non possono essere eseguite su colonne che includono nel nome caratteri speciali (ad esempio \#, \\, /, -).
+ L'unica trasformazione supportata per le colonne mappate ai tipi di BLOB/CLOB dati consiste nel rilasciare la colonna sulla destinazione.
+ AWS DMS non supporta la replica di due tabelle di origine in un'unica tabella di destinazione. AWS DMS replica i record da una tabella all'altra e da una colonna all'altra, in base alle regole di trasformazione dell'attività di replica. I nomi degli oggetti devono essere univoci per evitare sovrapposizioni.

  Ad esempio, una tabella di origine ha una colonna denominata `ID` e la tabella di destinazione corrispondente ha una colonna preesistente denominata `id`. Se una regola utilizza un'`ADD-COLUMN`istruzione per aggiungere una nuova colonna `id` denominata e un' SQLite istruzione per popolare la colonna con valori personalizzati, ciò crea un oggetto duplicato e ambiguo denominato `id` e non è supportato. 
+ Quando si crea una regola di trasformazione, si consiglia di utilizzare il `data-type` parametro solo quando le regole di selezione specificano più colonne, ad esempio quando si imposta su. `column-name` `%` Non è consigliabile utilizzarlo `data-type` per selezionare una singola colonna.
+ AWS DMS non supporta le regole di trasformazione in cui gli oggetti di origine e di destinazione (tabelle) si trovano sullo stesso database/schema. L'utilizzo della stessa tabella come origine e destinazione in una regola di trasformazione può portare a risultati imprevisti e potenzialmente dannosi, tra cui, a titolo esemplificativo ma non esaustivo, alterazioni involontarie dei dati della tabella, modifiche delle strutture delle tabelle o persino l'eliminazione delle tabelle.

## Valori
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Values"></a>

Per le regole di mappatura delle tabelle che utilizzano il tipo di regola di trasformazione, sono applicabili i seguenti valori. 


| Parametro | Valori possibili | Description | 
| --- | --- | --- | 
| rule-type | transformation | Un valore che applica la regola a ogni oggetto specificato dalla regola di selezione. Usa transformation a meno che non sia indicato altrimenti. | 
| rule-id | Un valore numerico. | Un valore numerico univoco per identificare la regola. Se si specificano più regole di trasformazione per lo stesso oggetto (schema, tabella, colonna, spazio tra tabelle o tabelle indicizzate), AWS DMS applica la regola di trasformazione con l'id della regola inferiore. | 
| rule-name | Un valore alfanumerico. | Un nome univoco per identificare la regola. | 
| object-locator | Un oggetto con i seguenti parametri:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Il nome di ogni schema, tabella o vista, spazio tabella di tabella e spazio tabella di indice e di colonna a cui si applica la regola. È possibile utilizzare il simbolo di percentuale "%" come carattere jolly per tutto o parte del valore di ciascun parametro `object-locator`, eccetto `data-type`. Pertanto, è possibile mettere in corrispondenza questi elementi:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html)<br />Inoltre, il parametro `table-tablespace-name` o `index-tablespace-name` è disponibile solo per la corrispondenza con un endpoint di origine Oracle. In una singola regola puoi specificare `table-tablespace-name` o `index-tablespace-name`, ma non entrambi. Pertanto, puoi mettere in corrispondenza *ciascuno* dei seguenti formati:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | 
| rule-action | `add-column`, `include-column`, `remove-column`<br />`rename`<br />`convert-lowercase`, `convert-uppercase`<br />`add-prefix`, `remove-prefix`, `replace-prefix`<br />`add-suffix`, `remove-suffix`, `replace-suffix`<br />`define-primary-key`<br />`change-data-type`<br />`add-before-image-columns`<br />`data-masking-digits-mask`<br />`data-masking-digits-randomize`<br />`data-masking-hash-mask` | La trasformazione che desideri applicare all'oggetto. Tutte le operazioni delle regole di trasformazione prevedono una distinzione tra lettere maiuscole e minuscole.<br />Il valore `add-column` del parametro `rule-action` aggiunge una colonna a una tabella. Tuttavia, non è possibile aggiungere una nuova colonna con lo stesso nome di una colonna esistente della stessa tabella.<br />Se utilizzato con i parametri `expression` e `data-type`, `add-column` specifica il valore dei nuovi dati di colonna. <br />Il valore `change-data-type` per `rule-action` è disponibile solo per le destinazioni della regola `column`.<br />Il valore `include-column` del parametro `rule-action` modifica la modalità della tabella in modo da *eliminare tutte le colonne per impostazione predefinita* e *includere le colonne specificate*. Nella destinazione vengono incluse più colonne richiamando più volte la regola `include-column`.<br />Non puoi usare una regola `define-primary-key` quando include un carattere jolly (`%`) in un nome di schema o di tabella. <br />Per un'attività esistente, le azioni delle regole di trasformazione che alterano lo schema della tabella di destinazione, ad esempio `remove-column`, `rename` o `add-prefix` non avranno effetto finché l'attività non viene riavviata. Se riprendi l'attività dopo aver aggiunto la regola di trasformazione, potresti notare un comportamento imprevisto della colonna alterata, come i dati mancanti nella colonna. È necessario il riavvio dell'attività per garantire il corretto funzionamento della regola di trasformazione.<br />I `data-masking-digits-mask``data-masking-digits-randomize`, e `data-masking-hash-mask` servono a mascherare le informazioni sensibili contenute in una o più colonne della tabella durante il caricamento sulla destinazione. Queste trasformazioni sono disponibili solo per gli obiettivi delle regole delle colonne. Per ulteriori dettagli, consulta [Utilizzo del mascheramento dei dati per nascondere informazioni sensibili](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.md).  | 
| rule-target | schema, table, column, table-tablespace, index-tablespace | Il tipo di oggetto che stai trasformando.I valori `table-tablespace` e `index-tablespace` sono disponibili solo per un endpoint di destinazione Oracle. <br />Assicurarsi di specificare un valore per il parametro specificato come parte del `object-locator`: il nome `table-tablespace-name` o `index-tablespace-name`. | 
| value | Un valore alfanumerico che segue le regole di denominazione per il tipo di destinazione. | Il nuovo valore per operazioni che richiedono input, ad esempio rename. | 
| old-value | Un valore alfanumerico che segue le regole di denominazione per il tipo di destinazione. | Il vecchio valore per operazioni che richiedono la sostituzione, ad esempio replace-prefix. | 
| data-type | `type`: il tipo di dati da utilizzare se `rule-action` è `add-column` o il tipo di dati sostitutivo se `rule-action` è `change-data-type`.<br />In alternativa, il nome del tipo di dati sostitutivo quando `rule-action` è `change-data-type`, il valore di `column-name` è `"%"` e un parametro `data-type` aggiuntivo per identificare il tipo di dati esistente è incluso in `object-locator`.<br />AWS DMS supporta le trasformazioni dei tipi di dati delle colonne per i seguenti tipi di dati DMS: `"bytes", "date", "time", "datetime", "int1", "int2", "int4", "int8", "numeric", "real4", "real8", "string", "uint1", "uint2", "uint4", "uint8", "wstring", "blob", "nclob", "clob", "boolean", "set", "list" "map", "tuple"` AWS DMS può applicare trasformazioni da un tipo all'altro SOLO nei formati supportati. (ad esempio DATE dovrebbe essere rappresentato in `YYYY:MM:DD/YYYY-MM-DD.` DATETIME dovrebbe essere rappresentato in. `YYYY:MM:DD HH:MM:SS/YYYY-MM-DD HH:MM:SS` TIME dovrebbe essere rappresentato in`HH:MM:SS`. <br />`precision`: se la colonna aggiunta o il tipo di dati di sostituzione ha una precisione, un valore intero per specificare la precisione.<br />`scale`: se la colonna aggiunta o il tipo di dati di sostituzione ha una scala, un valore intero o un valore di data e ora per specificare la scala.<br />`length`: la lunghezza dei dati della nuova colonna (se utilizzata con `add-column`).  | Di seguito è riportato un esempio di un parametro `data-type` per specificare il tipo di dati esistente da sostituire. <pre>{<br />	"rules": [{<br />			"rule-type": "selection",<br />			"rule-id": "1",<br />			"rule-name": "1",<br />			"object-locator": {<br />				"schema-name": "%",<br />				"table-name": "%"<br />			},<br />			"rule-action": "include"<br />		},<br />		{<br />			"rule-type": "transformation",<br />			"rule-id": "2",<br />			"rule-name": "2",<br />			"rule-target": "column",<br />			"object-locator": {<br />				"schema-name": "test",<br />				"table-name": "table_t",<br />				"column-name": "col10"<br />			},<br />			"rule-action": "change-data-type",<br />			"data-type": {<br />				"type": "string",<br />				"length": "4092",<br />				"scale": ""<br />			}<br />		}<br />	]<br />}</pre><br />Qui, la colonna `col10` della tabella `table_t` viene modificata in base al tipo di dati `string`. | 
| expression | Un valore alfanumerico che segue SQLite la sintassi.  | Se utilizzato con `rule-action` impostato su `rename-schema`, il parametro `expression` specifica un nuovo schema. Se utilizzato con il `rule-action` impostato su `rename-table`, `expression` specifica una nuova tabella. Se utilizzato con `rule-action` impostato su `rename-column`, `expression` specifica un nuovo valore del nome di colonna.<br />Se utilizzato con `rule-action` impostato su `add-column`, `expression` specifica i dati che costituiscono una nuova colonna.<br />Tieni presente che per questo parametro sono supportate solo le espressioni. Gli operatori e i comandi non sono supportati.<br />Per ulteriori informazioni sull'utilizzo delle espressioni per le regole di trasformazione, consulta [Utilizzo delle espressioni delle regole di trasformazione per definire il contenuto delle colonne](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md).<br />Per ulteriori informazioni sulle SQLite espressioni, vedere. [Utilizzo di SQLite funzioni per creare espressioni](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite) | 
| primary-key-def | Un oggetto con i seguenti parametri:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Questo parametro può definire il nome, il tipo e il contenuto di una chiave univoca sulla tabella o sulla vista trasformata. Lo fa quando rule-action è impostato su define-primary-key e rule-target su table. Per impostazione predefinita, la chiave univoca viene definita come chiave primaria. | 
| before-image-def | Un oggetto con i seguenti parametri:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Questo parametro definisce una convenzione di denominazione per identificare le colonne immagine precedente e specifica un filtro per identificare quali colonne di origine possono avere colonne immagine precedente create per esse sulla destinazione. È possibile specificare questo parametro quando `rule-action` è impostato su `add-before-image-columns` e `rule-target` su `column`.<br />Non impostare sia `column-prefix` sia `column-suffix` sull'opzione per svuotare le stringhe.<br />Per `column-filter`, selezionare:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) Il `before-image-def` parametro non supporta tipi di dati LOB (Large Binary Object) come CLOB e BLOB. Se il tipo di dati è impostato come LOB, nella tabella viene creata una colonna vuota. <br />Per ulteriori informazioni sul supporto dell'immagine precedente per gli endpoint di destinazione AWS DMS , consulta:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | 

## Esempi
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Examples"></a>

**Example Assegnazione di un nuovo nome a uno schema**  
Nell'esempio seguente viene rinominato uno schema da `Test` nell'origine a `Test1` nella destinazione.  

```
{

    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "schema",
            "object-locator": {
                "schema-name": "Test"
            },
            "value": "Test1"
        }
    ]
}
```

**Example Rinominare una tabella**  
Nell'esempio seguente viene rinominata una tabella da `Actor` nell'origine a `Actor1` nella destinazione.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "table",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "Actor"
            },
            "value": "Actor1"
        }
    ]
}
```

**Example Ridenominazione di una colonna**  
Nell'esempio seguente viene rinominata una colonna nella tabella `Actor` da `first_name` nell'origine a `fname` nella destinazione.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
         {
            "rule-type": "transformation",
            "rule-id": "4",
            "rule-name": "4",
            "rule-action": "rename",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "test",
                "table-name": "Actor",
                "column-name" : "first_name"
            },
            "value": "fname"
        }
    ]
}
```

**Example Rinominare uno spazio tabella di tabella Oracle**  
L'esempio seguente rinomina lo spazio tabella di tabella denominato `SetSpace` per una tabella denominata `Actor` nell'origine Oracle in `SceneTblSpace` nell'endpoint Oracle di destinazione.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "table-tablespace",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "Actor",
                "table-tablespace-name": "SetSpace"
            },
            "value": "SceneTblSpace"
        }
    ]
}
```

**Example Rinominare uno spazio tabella di indice Oracle**  
L'esempio seguente rinomina lo spazio tabella di indice denominato `SetISpace` per una tabella denominata `Actor` nell'origine Oracle in `SceneIdxSpace` nell'endpoint Oracle di destinazione.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "rename",
            "rule-target": "table-tablespace",
            "object-locator": {
                "schema-name": "Play",
                "table-name": "Actor",
                "table-tablespace-name": "SetISpace"
            },
            "value": "SceneIdxSpace"
        }
    ]
}
```

**Example Aggiungere una colonna**  
Nell'esempio seguente viene aggiunta una colonna `datetime` alla tabella `Actor` nello schema `test`.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "add-column",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "test",
                "table-name": "actor"
            },
            "value": "last_updated",
            "data-type": {
                "type": "datetime",
                "precision": 6
            }
        }
    ]
}
```

**Example Rimozione di una colonna**  
Nell'esempio seguente viene trasformata la tabella denominata `Actor` nell'origine per rimuovere da essa tutte le colonne che iniziano con i caratteri `col` nella destinazione.  

```
{
 	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "remove-column",
		"rule-target": "column",
		"object-locator": {
			"schema-name": "test",
			"table-name": "Actor",
			"column-name": "col%"
		}
	}]
 }
```

**Example Conversione in minuscolo**  
Nell'esempio seguente viene convertito un nome di tabella da `ACTOR` nell'origine a `actor` nella destinazione.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "convert-lowercase",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "test",
			"table-name": "ACTOR"
		}
	}]
}
```

**Example Conversione in caratteri maiuscoli**  
Nell'esempio seguente vengono convertite tutte le colonne in tutte le tabelle e tutti gli schemi da caratteri minuscoli nell'origine a caratteri maiuscoli nella destinazione.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "convert-uppercase",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%",
                "column-name": "%"
            }
        }
    ]
}
```

**Example Aggiunta di un prefisso**  
Nell'esempio seguente tutte le tabelle nell'origine vengono trasformate con l'aggiunta del prefisso `DMS_` nella destinazione.  

```
{
 	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "add-prefix",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"value": "DMS_"
	}]
 
}
```

**Example Sostituzione di un prefisso**  
Nell'esempio seguente tutte le colonne contenenti il prefisso `Pre_` nell'origine vengono trasformate mediante la sostituzione del prefisso con `NewPre_` nella destinazione.  

```
{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "transformation",
            "rule-id": "2",
            "rule-name": "2",
            "rule-action": "replace-prefix",
            "rule-target": "column",
            "object-locator": {
                "schema-name": "%",
                "table-name": "%",
                "column-name": "%"
            },
            "value": "NewPre_",
            "old-value": "Pre_"
        }
    ]
}
```

**Example Rimozione di un suffisso**  
Nell'esempio seguente tutte le tabelle nell'origine vengono trasformate con la rimozione del suffisso `_DMS` nella destinazione.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "remove-suffix",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "test",
			"table-name": "%"
		},
		"value": "_DMS"
	}]
}
```

**Example Definire una chiave primaria**  
L'esempio seguente definisce una chiave primaria denominata `ITEM-primary-key` su tre colonne della tabella `ITEM` migrata nell'endpoint di destinazione.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "define-primary-key",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "ITEM"
		},
		"primary-key-def": {
			"name": "ITEM-primary-key",
			"columns": [
				"ITEM-NAME",
				"BOM-MODEL-NUM",
				"BOM-PART-NUM"
			]
              }
	}]
}
```

**Example Definire un indice univoco**  
L'esempio seguente definisce un indice univoco denominato `ITEM-unique-idx` su tre colonne della tabella `ITEM` migrata verso l'endpoint di destinazione.  

```
{
	"rules": [{
		"rule-type": "selection",
		"rule-id": "1",
		"rule-name": "1",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "%"
		},
		"rule-action": "include"
	}, {
		"rule-type": "transformation",
		"rule-id": "2",
		"rule-name": "2",
		"rule-action": "define-primary-key",
		"rule-target": "table",
		"object-locator": {
			"schema-name": "inventory",
			"table-name": "ITEM"
		},
		"primary-key-def": {
			"name": "ITEM-unique-idx",
			"origin": "unique-index",
			"columns": [
				"ITEM-NAME",
				"BOM-MODEL-NUM",
				"BOM-PART-NUM"
			]
              }
	}]
}
```

**Example Modifica del tipo di dati della colonna di destinazione**  
Nell'esempio seguente viene modificato il tipo di dati di una colonna di destinazione denominata `SALE_AMOUNT` da un tipo di dati esistente su `int8`.  

```
{
    "rule-type": "transformation",
    "rule-id": "1",
    "rule-name": "RuleName 1",
    "rule-action": "change-data-type",
    "rule-target": "column",
    "object-locator": {
        "schema-name": "dbo",
        "table-name": "dms",
        "column-name": "SALE_AMOUNT"
    },
    "data-type": {
        "type": "int8"
    }
}
```

**Example Aggiungere una colonna dell'immagine precedente**  
Per una colonna di origine denominata `emp_no`, la regola di trasformazione nell'esempio seguente aggiunge una nuova colonna denominata `BI_emp_no` nella destinazione.  

```
{
	"rules": [{
			"rule-type": "selection",
			"rule-id": "1",
			"rule-name": "1",
			"object-locator": {
				"schema-name": "%",
				"table-name": "%"
			},
			"rule-action": "include"
		},
		{
			"rule-type": "transformation",
			"rule-id": "2",
			"rule-name": "2",
			"rule-target": "column",
			"object-locator": {
				"schema-name": "%",
				"table-name": "employees"
			},
			"rule-action": "add-before-image-columns",
			"before-image-def": {
				"column-prefix": "BI_",
				"column-suffix": "",
				"column-filter": "pk-only"
			}
		}
	]
}
```
Qui, l'istruzione seguente popola una colonna `BI_emp_no` nella riga corrispondente con 1.  

```
UPDATE employees SET emp_no = 3 WHERE BI_emp_no = 1;
```
Quando si scrivono aggiornamenti CDC su AWS DMS destinazioni supportate, la `BI_emp_no` colonna consente di stabilire quali righe hanno valori aggiornati nella colonna. `emp_no`