

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Règles et actions de transformation
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations"></a>

Les actions de transformation permettent de spécifier les transformations que vous souhaitez appliquer au schéma, à la table ou à la vue sélectionné(e). Les règles de transformation sont facultatives. 

## Limitations
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Limitations"></a>
+ Vous ne pouvez pas appliquer plusieurs actions de règle de transformation au même objet (schéma, table, colonne, table-tablespace ou index-tablespace). Vous pouvez appliquer plusieurs actions de règle de transformation à n’importe quel niveau, à condition que chaque action de transformation soit appliquée à un objet différent. Toutefois, cette restriction n'est pas applicable lorsque vous utilisez des règles de transformation de masquage de données dans lesquelles vous pouvez avoir une autre transformation similaire `ADD-COLUMN` ou `CHANGE-DATA-TYPE` pour la même colonne.
+ Les noms de table et de colonne sont sensibles à la casse dans les règles de transformation. Par exemple, vous devez fournir les noms de table et de colonne d’une base de données Oracle ou Db2 en majuscules.
+ Les transformations ne sont pas prises en charge pour les noms de colonnes contenant des Right-to-Left langues.
+ Les transformations ne peuvent pas être effectuées sur des colonnes dont le nom contient des caractères spéciaux (par exemple, \#, \\, /, -).
+ La seule transformation prise en charge pour les colonnes mappées à BLOB/CLOB des types de données consiste à déposer la colonne sur la cible.
+ AWS DMS ne prend pas en charge la réplication de deux tables sources vers une seule table cible. AWS DMS réplique les enregistrements de table en table et de colonne en colonne, conformément aux règles de transformation de la tâche de réplication. Les noms des objets doivent être uniques pour éviter tout chevauchement.

  Par exemple, une table source possède une colonne nommée `ID` et la table cible correspondante possède une colonne préexistante appelée `id`. Si une règle utilise une `ADD-COLUMN` instruction pour ajouter une nouvelle colonne appelée`id`, et une SQLite instruction pour remplir la colonne avec des valeurs personnalisées, cela crée un double nom `id` d'objet ambigu qui n'est pas pris en charge. 
+ Lorsque vous créez une règle de transformation, nous vous recommandons d'utiliser le `data-type` paramètre uniquement lorsque les règles de sélection spécifient plusieurs colonnes, par exemple lorsque vous définissez `column-name` sur`%`. Nous vous déconseillons de l'utiliser `data-type` pour sélectionner une seule colonne.
+ AWS DMS ne prend pas en charge les règles de transformation dans lesquelles les objets source et cible (tables) se trouvent dans la même base de données/le même schéma. L'utilisation de la même table comme source et comme cible dans une règle de transformation peut entraîner des résultats inattendus et potentiellement dangereux, notamment des altérations involontaires des données de la table, une modification des structures de table ou même la suppression de tables.

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

Pour les règles de mappage de tables qui utilisent le type de règle de transformation, vous pouvez appliquer les valeurs suivantes : 


| Paramètre | Valeurs possibles | Description | 
| --- | --- | --- | 
| rule-type | transformation | Valeur qui applique la règle à chaque objet spécifié par la règle de sélection. Utilisez, transformation sauf indication contraire. | 
| rule-id | Valeur numérique. | Valeur numérique unique pour identifier la règle. Si vous spécifiez plusieurs règles de transformation pour le même objet (schéma, table, colonne, espace inter-tables ou espace table d'index), AWS DMS applique la règle de transformation avec le rule-id inférieur. | 
| rule-name | Valeur alphanumérique. | Nom unique pour identifier la règle. | 
| object-locator | Objet avec les paramètres suivants :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Nom de chaque schéma, table ou vue, espace de table, espace de table d'index et colonne auxquels la règle s'applique. Vous pouvez utiliser le signe « % » comme caractère générique pour tout ou partie de la valeur de chaque paramètre `object-locator`, sauf `data-type`. Ainsi, vous pouvez faire correspondre ces éléments :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html)<br />En outre, les paramètres `index-tablespace-name` ou `table-tablespace-name` sont disponibles uniquement pour correspondre à un point de terminaison source Oracle. Vous pouvez spécifier `table-tablespace-name` ou `index-tablespace-name` dans une règle, mais pas les deux. Vous pouvez donc établir une correspondance avec *un* des éléments suivants :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/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` | Transformation à appliquer à l'objet. Toutes les actions de règle de transformation sont sensibles à la casse.<br />La valeur `add-column` du paramètre `rule-action` ajoute une colonne à une table. Vous ne pouvez toutefois pas ajouter une nouvelle colonne qui porte le même nom qu’une colonne existante de la même table.<br />Lorsqu'elle est utilisée avec les paramètres `data-type` et `expression`, `add-column` spécifie la valeur des données de la nouvelle colonne. <br />La valeur `change-data-type` pour `rule-action` est uniquement disponible pour les cibles de règle `column`.<br />La valeur `include-column` du paramètre `rule-action` modifie le mode de la table pour *supprimer toutes les colonnes par défaut* et *inclure les colonnes spécifiées*. Plusieurs colonnes sont incluses dans la cible en invoquant la règle `include-column` plusieurs fois.<br />Vous ne pouvez pas utiliser une règle `define-primary-key` lorsque le nom d’un schéma ou d’une table contient un caractère générique (`%`). <br />Pour une tâche existante, les actions de la règle de transformation qui modifient le schéma de la table cible telles que `remove-column`, `rename` ou `add-prefix` ne prendront effet qu’après le redémarrage de la tâche. Si vous reprenez la tâche après avoir ajouté la règle de transformation, vous pourriez constater un comportement inattendu de la colonne modifiée, notamment des données de colonne manquantes. Un redémarrage de la tâche est nécessaire pour garantir le bon fonctionnement de la règle de transformation.<br />Les `data-masking-digits-mask``data-masking-digits-randomize`, et `data-masking-hash-mask` servent à masquer les informations sensibles contenues dans une ou plusieurs colonnes du tableau lors du chargement vers la cible. Ces transformations ne sont disponibles que pour les cibles de règles de colonne. Pour plus d'informations, consultez [Utiliser le masquage des données pour masquer des informations sensibles](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.md).  | 
| rule-target | schema, table, column, table-tablespace, index-tablespace | Type d'objet que vous transformez.Les valeurs `table-tablespace` et `index-tablespace` ne sont disponibles que pour un point de terminaison cible Oracle. <br />Assurez-vous de spécifier une valeur pour le paramètre que vous spécifiez dans le nom `object-locator` : `table-tablespace-name` ou `index-tablespace-name`. | 
| value | Valeur alphanumérique qui suit les règles de dénomination pour le type de cible. | Nouvelle valeur pour les actions qui nécessitent une entrée, par exemple rename. | 
| old-value | Valeur alphanumérique qui suit les règles de dénomination pour le type de cible. | Ancienne valeur pour les actions qui ont besoin d'être remplacées, par exemple replace-prefix. | 
| data-type | `type` : type de données à utiliser si `rule-action` est `add-column` ou type de données de remplacement si `rule-action` est `change-data-type`.<br />Ou, le nom du type de données de remplacement quand l’`rule-action` est `change-data-type`, la valeur de `column-name` est `"%"` et un paramètre `data-type` supplémentaire permettant d'identifier le type de données existant est inclus dans le `object-locator`.<br />AWS DMS prend en charge les transformations de type de données de colonne pour les types de données DMS suivants : `"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 peut appliquer des transformations d'un type à un autre UNIQUEMENT dans les formats pris en charge. P. ex. LA DATE doit être représentée dans `YYYY:MM:DD/YYYY-MM-DD.` DATETIME doit être représentée dans`YYYY:MM:DD HH:MM:SS/YYYY-MM-DD HH:MM:SS`. TIME doit être représenté dans`HH:MM:SS`. <br />`precision` : si la colonne ajoutée ou le type de données de remplacement a une précision, une valeur entière pour spécifier la précision.<br />`scale` : si la colonne ajoutée ou le type de données de remplacement a une échelle, une valeur entière ou de date/heure pour spécifier l’échelle.<br />`length` : longueur de la nouvelle colonne de données (si utilisée avec `add-column`)  | Exemple de paramètre `data-type` pour spécifier le type de données existant à remplacer. <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 />Ici, la colonne `col10` de la table `table_t` est remplacée par le type de données `string`. | 
| expression | Valeur alphanumérique conforme à la SQLite syntaxe.  | Lorsqu'il est utilisé avec l’`rule-action` définie sur `rename-schema`, le paramètre `expression` spécifie un nouveau schéma. Lorsqu'elle est utilisée avec l’`rule-action` définit sur `rename-table`, `expression` spécifie une nouvelle table. Lorsqu'elle est utilisée avec l’`rule-action` définie sur `rename-column`, `expression` spécifie une nouvelle valeur de nom de colonne.<br />Lorsqu'elle est utilisée avec l’`rule-action` définie sur `add-column`, `expression` spécifie les données qui constituent une nouvelle colonne.<br />Notez que seules les expressions sont prises en charge pour ce paramètre. Les opérateurs et les commandes ne sont pas pris en charge.<br />Pour plus d’informations sur l’utilisation des expressions pour les règles de transformation, consultez [Utilisation d'expressions de règle de transformation pour définir le contenu d’une colonne](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md).<br />Pour plus d'informations sur SQLite les expressions, consultez[Utilisation de SQLite fonctions pour créer des expressions](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite). | 
| primary-key-def | Objet avec les paramètres suivants :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Ce paramètre peut définir le nom, le type et le contenu d'une clé unique dans la table ou la vue transformée. Il le fait lorsque l’rule-action est définie sur define-primary-key et la rule-target est définie sur table. Par défaut, la clé unique est définie en tant que clé primaire. | 
| before-image-def | Objet avec les paramètres suivants :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Ce paramètre définit une convention de dénomination pour identifier les colonnes d’image antérieure et spécifie un filtre pour identifier les colonnes source qui peuvent avoir des colonnes d’image antérieure créées pour elles sur la cible. Vous pouvez spécifier ce paramètre lorsque l’`rule-action` est définie sur `add-before-image-columns` et la `rule-target` est définie sur `column`.<br />Ne définissez pas les deux `column-prefix` et `column-suffix` sur des chaînes vides.<br />Pour `column-filter`, sélectionnez:[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) Le `before-image-def` paramètre ne prend pas en charge les types de données LOB (grands objets binaires) tels que CLOB et BLOB. Si le type de données est défini comme LOB, une colonne vide est créée dans la table. <br />Pour plus d’informations sur la prise en charge de l’image antérieure pour les points de terminaison cibles AWS DMS , consultez :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | 

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

**Example Renommer un schéma**  
L'exemple suivant renomme un schéma `Test` de votre source en `Test1` dans votre cible.  

```
{

    "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 Renommer une table**  
L'exemple suivant renomme une table `Actor` de votre source en `Actor1` dans votre cible.  

```
{
    "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 Renommer une colonne**  
L'exemple suivant renomme une colonne de la table `Actor` en remplaçant `first_name` dans votre source par `fname` dans votre cible.  

```
{
    "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 Renommer un espace de table de table Oracle**  
L'exemple suivant renomme l'espace de table de table nommé `SetSpace` d'une table nommée `Actor` dans votre source Oracle en `SceneTblSpace` dans votre point de terminaison cible Oracle.  

```
{
    "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 Renommer un espace de table d'index Oracle**  
L'exemple suivant renomme l'espace de table d'index nommé `SetISpace` d'une table nommée `Actor` dans votre source Oracle en `SceneIdxSpace` dans votre point de terminaison cible Oracle.  

```
{
    "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 Ajouter une colonne**  
Dans l'exemple suivant une colonne `datetime` est ajoutée à la table `Actor` du schéma `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 Supprimer une colonne**  
L'exemple suivant transforme la table nommée `Actor` dans votre source pour en supprimer toutes les colonnes commençant par les caractères `col` dans votre cible.  

```
{
 	"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 Convertir en minuscules**  
L'exemple suivant convertit un nom de table `ACTOR` dans votre source en `actor` dans votre cible.  

```
{
	"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 Convertir en majuscules**  
L'exemple suivant convertit toutes les colonnes de toutes les tables et tous les schémas en les faisant passer de lettres minuscules dans votre source à des lettres majuscules dans votre cible.  

```
{
    "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 Ajouter un préfixe**  
L'exemple suivant transforme toutes les tables de votre source en leur ajoutant le préfixe `DMS_` dans votre cible.  

```
{
 	"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 Remplacer un préfixe**  
L'exemple suivant transforme toutes les colonnes contenant le préfixe `Pre_` dans votre source en remplaçant le préfixe par `NewPre_` dans votre cible.  

```
{
    "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 Supprimer un suffixe**  
L'exemple suivant transforme toutes les tables de votre source en leur supprimant le suffixe `_DMS` dans votre cible.  

```
{
	"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 Définir une clé primaire**  
L'exemple suivant définit une clé primaire nommée `ITEM-primary-key` sur trois colonnes de la table `ITEM` migrée vers votre point de terminaison cible.  

```
{
	"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 Définir un index unique**  
L'exemple suivant définit un index unique nommé `ITEM-unique-idx` sur trois colonnes de la table `ITEM` migrée vers votre point de terminaison cible.  

```
{
	"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 Modification du type de données de la colonne cible**  
L'exemple suivant remplace le type de données d'une colonne cible nommée `SALE_AMOUNT` à partir d'un type de données existant par `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 Ajouter une colonne d'image antérieure**  
Pour une colonne source appelée `emp_no`, la règle de transformation de l'exemple suivant ajoute une nouvelle colonne appelée `BI_emp_no` dans la cible.  

```
{
	"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"
			}
		}
	]
}
```
Ici, l’instruction suivante remplit une colonne `BI_emp_no` dans la ligne correspondante avec 1.  

```
UPDATE employees SET emp_no = 3 WHERE BI_emp_no = 1;
```
Lorsque vous écrivez des mises à jour CDC pour AWS DMS les cibles prises en charge, la `BI_emp_no` colonne permet de savoir quelles lignes contiennent des valeurs mises à jour dans la `emp_no` colonne.