

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Regras de transformação e ações
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations"></a>

As ações de transformação são utilizadas para especificar as transformações que você deseja aplicar ao esquema, à tabela ou à visualização selecionada. As regras da transformação são opcionais. 

## Limitações
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Limitations"></a>
+ Não é possível aplicar mais de uma ação de regra de transformação ao mesmo objeto (esquema, tabela, coluna, espaço para tabela ou espaço para tabela de índice). É possível aplicar várias ações de regra de transformação em qualquer nível, desde que cada ação de transformação seja aplicada em um objeto diferente. No entanto, essa restrição não é válida ao usar regras de transformação de mascaramento de dados, nas quais você pode ter outra transformação, como `ADD-COLUMN` ou `CHANGE-DATA-TYPE`, para a mesma coluna.
+ Os nomes de tabelas e de colunas nas regras de transformação diferenciam maiúsculas de minúsculas. Por exemplo, você deve fornecer nomes de tabelas e nomes de colunas para um banco de dados Oracle ou Db2 em letras maiúsculas.
+ As transformações não são suportadas para nomes de colunas com Right-to-Left idiomas.
+ As transformações não podem ser executadas em colunas que contenham caracteres especiais (por exemplo, \#, \\, /, -) em seu nome.
+ A única transformação suportada para colunas mapeadas para tipos de BLOB/CLOB dados é soltar a coluna no destino.
+ AWS DMS não oferece suporte à replicação de duas tabelas de origem em uma única tabela de destino. AWS DMS replica registros de tabela em tabela e de coluna em coluna, de acordo com as regras de transformação da tarefa de replicação. Os nomes dos objetos devem ser exclusivos para evitar sobreposição.

  Por exemplo, uma tabela de origem tem uma coluna chamada `ID` e a tabela de destino correspondente tem uma coluna preexistente chamada `id`. Se uma regra usa uma `ADD-COLUMN` instrução para adicionar uma nova coluna chamada `id` e uma SQLite instrução para preencher a coluna com valores personalizados, isso cria um objeto duplicado e ambíguo chamado `id` e não é suportado. 
+ Ao criar uma regra de transformação, recomendamos usar o parâmetro `data-type` somente quando as regras de seleção especificarem várias colunas, por exemplo, quando você define `column-name` como `%`. Não recomendamos usar `data-type` para selecionar uma única coluna.
+ AWS DMS não oferece suporte a regras de transformação em que objetos de origem e destino (tabelas) estejam no mesmo banco de dados/esquema. Usar a mesma tabela como origem e destino em uma regra de transformação pode gerar resultados inesperados e possivelmente prejudiciais, como, entre outros, alterações indesejadas nos dados da tabela, modificação da estrutura das tabelas ou até mesmo a eliminação de tabelas.

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

Os seguintes valores podem ser aplicados a regras de mapeamento de tabela que utilizam o tipo de regra de transformação 


| Parâmetro | Possíveis valores | Description | 
| --- | --- | --- | 
| rule-type | transformation | Um valor que aplica a regra a cada objeto especificado pela regra de seleção. Utilize transformation a menos que especificado de outra forma. | 
| rule-id | Um valor numérico. | Um valor numérico exclusivo para identificar a regra. Se você especificar várias regras de transformação para o mesmo objeto (esquema, tabela, coluna, espaço entre tabelas ou espaço de tabela de índice), AWS DMS aplique a regra de transformação com o ID de regra inferior. | 
| rule-name | Um valor alfanumérico. | Um nome exclusivo para identificar a regra. | 
| object-locator | Um objeto com os seguintes parâmetros:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | O nome de cada esquema, tabela ou visualização, espaço de tabela de tabela, espaço de tabela de índice e coluna aos quais a regra se aplica. É possível utilizar o sinal de porcentagem "%" como um curinga para todo ou parte do valor de cada parâmetro `object-locator`, exceto `data-type`. Assim, você pode corresponder estes itens:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html)<br />Além disso, o parâmetro `index-tablespace-name` ou `table-tablespace-name` está disponível apenas para corresponder a um endpoint de origem do Oracle. É possível especificar `table-tablespace-name` ou `index-tablespace-name` em uma única regra, mas não os dois. Portanto, é possível corresponder *qualquer um* dos itens a seguir:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/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` | A transformação que você quer aplicar ao objeto. Todas as ações de regra de transformação diferenciam maiúsculas e minúsculas.<br />O valor de `add-column` do parâmetro `rule-action` adiciona uma coluna a uma tabela. Mas você não pode adicionar uma nova coluna com o mesmo nome de uma coluna já existente da mesma tabela.<br />Quando utilizado com os parâmetros `expression` e `data-type`, `add-column` especifica o valor de novos dados da coluna. <br />O valor de `change-data-type` para `rule-action` só está disponível para destinos de regras de `column`.<br />O valor `include-column` do parâmetro `rule-action` altera o modo da tabela para *descartar todas as colunas por padrão* e *incluir as colunas especificadas*. Várias colunas são incluídas no destino com a invocação da regra `include-column` várias vezes.<br />Não é possível utilizar uma regra `define-primary-key` quando a regra tem um curinga (`%`) em um nome de esquema ou de tabela. <br />Para uma tarefa existente, as ações da regra de transformação que alteram o esquema da tabela de destino, como `remove-column`, `rename` ou `add-prefix`, não entrarão em vigor enquanto você não reiniciar a tarefa. Se você retomar a tarefa depois de adicionar a regra de transformação, poderá observar um comportamento inesperado na coluna alterada, que pode incluir dados ausentes da coluna. É necessário reiniciar a tarefa para garantir que a regra de transformação funcione corretamente.<br />O `data-masking-digits-mask`, o `data-masking-digits-randomize` e `data-masking-hash-mask` servem para mascarar informações confidenciais contidas em uma ou mais colunas da tabela ao carregar no destino. Essas transformações estão disponíveis somente para destinos de regras de coluna. Para obter mais detalhes, consulte [Usar mascaramento de dados para ocultar informações sensíveis](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.md)  | 
| rule-target | schema, table, column, table-tablespace, index-tablespace | O tipo de objeto que você está transformando.Os valores `index-tablespace` e `table-tablespace` estão disponíveis somente para um endpoint de destino do Oracle. <br />Especifique um valor para o parâmetro especificado como parte do `object-locator`: nome `table-tablespace-name` ou `index-tablespace-name`. | 
| value | Um valor alfanumérico que segue as regras de nomenclatura do tipo de destino. | O novo valor de ações que exigem entrada, como rename. | 
| old-value | Um valor alfanumérico que segue as regras de nomenclatura do tipo de destino. | O antigo valor de ações que exigem substituição, como replace-prefix. | 
| data-type | `type`: o tipo de dados a ser utilizado se `rule-action` for `add-column` ou o tipo de dados de substituição se `rule-action` for `change-data-type`.<br />Ou, o nome do tipo de dados de substituição quando `rule-action` for `change-data-type`, o valor de `column-name` é `"%"`, e um parâmetro `data-type` adicional para identificar o tipo de dados existente está incluído no `object-locator`.<br />AWS DMS suporta transformações de tipo de dados de coluna para os seguintes tipos de dados do 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 pode aplicar transformações de um tipo para outro SOMENTE nos formatos compatíveis. Por exemplo: DATE deve ser representada como `YYYY:MM:DD/YYYY-MM-DD.` e DATETIME deve ser representada como `YYYY:MM:DD HH:MM:SS/YYYY-MM-DD HH:MM:SS`. TIME deve ser representada como `HH:MM:SS`. <br />`precision`: se a coluna adicionada ou o tipo de dados de substituição tiver uma precisão, um valor inteiro para especificar a precisão.<br />`scale`: se a coluna adicionada ou o tipo de dados de substituição tiver uma escala, um valor inteiro ou um valor de data e hora para especificar a escala.<br />`length`: o tamanho dos dados da nova coluna (quando utilizado com `add-column`)  | Veja a seguir um exemplo de um parâmetro `data-type` para especificar o tipo de dados existente a ser substituído. <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 />Aqui, a coluna `col10` da tabela `table_t` é alterada para o tipo de dados `string`. | 
| expression | Um valor alfanumérico que segue a SQLite sintaxe.  | Quando utilizado com a `rule-action` definida como `rename-schema`, o parâmetro `expression` especifica um novo esquema. Quando utilizado com a `rule-action` definida como `rename-table`, `expression` especifica uma nova tabela. Quando utilizado com a `rule-action` definida como `rename-column`, `expression` especifica um novo valor de nome de coluna.<br />Quando utilizado com a `rule-action` definida como `add-column`, `expression` especifica dados que compõem uma nova coluna.<br />Observe que somente expressões são compatíveis com esse parâmetro. Os operadores e os comandos são incompatíveis.<br />Para obter mais informações sobre como utilizar expressões para regras de transformação, consulte [Utilizar expressões de regra de transformação para definir o conteúdo da coluna](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md).<br />Para obter mais informações sobre SQLite expressões, consulte[Usando SQLite funções para criar expressões](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite). | 
| primary-key-def | Um objeto com os seguintes parâmetros:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Esse parâmetro pode definir o nome, o tipo e o conteúdo de uma chave exclusiva na tabela ou visualização transformada. Ele faz isso quando a rule-action é definida como define-primary-key e o rule-target é definido como table. Por padrão, a chave exclusiva é definida como uma chave primária. | 
| before-image-def | Um objeto com os seguintes parâmetros:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Esse parâmetro define uma convenção de nomenclatura para identificar as colunas de imagem anterior e especifica um filtro para identificar quais colunas de origem podem ter colunas de imagem anterior criadas para elas no destino. É possível especificar esse parâmetro quando a `rule-action` é definida como `add-before-image-columns` e o `rule-target` é definido como `column`.<br />Não defina `column-prefix` e `column-suffix` como strings vazias.<br />Para `column-filter`, selecione:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) O parâmetro `before-image-def` não é compatível com tipos de dados de objetos binário grandes (LOB), como CLOB e BLOB. Se o tipo de dados for definido como LOB, uma coluna nula será criada na tabela. <br />Para obter mais informações sobre suporte a imagem anterior para endpoints de destino do AWS DMS , consulte:[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | 

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

**Example Renomear um esquema**  
O exemplo a seguir renomeia um esquema de `Test` na origem para `Test1` no destino.  

```
{

    "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 Renomeação de uma tabela**  
O exemplo a seguir renomeia uma tabela de `Actor` na origem para `Actor1` no destino.  

```
{
    "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 Renomeação de uma coluna**  
O exemplo a seguir renomeia uma coluna na tabela `Actor` de `first_name` na origem para `fname` no destino.  

```
{
    "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 Renomear um espaço de tabela da tabela do Oracle**  
O exemplo a seguir renomeia o espaço de tabela denominado `SetSpace` para uma tabela denominada `Actor` na origem do Oracle para `SceneTblSpace` no endpoint de destino do 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 Renomear um espaço de tabela de índice do Oracle**  
O exemplo a seguir renomeia o espaço de tabela de índice denominado `SetISpace` para uma tabela denominada `Actor` na origem do Oracle para `SceneIdxSpace` no endpoint de destino do 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 Adicionar uma coluna**  
O exemplo a seguir adiciona uma coluna `datetime` à tabela `Actor` no esquema `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 Remover uma coluna**  
O exemplo a seguir transforma a tabela `Actor` na origem para remover todas as colunas que começam com os caracteres `col` no destino.  

```
{
 	"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 Converter para minúsculas**  
O exemplo a seguir converte o nome de uma tabela de `ACTOR` na origem em `actor` no destino.  

```
{
	"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 Converter em maiúsculas**  
O exemplo a seguir converte todas as colunas em todas as tabelas e todos os esquemas de minúsculas, na origem, para maiúsculas, no destino.  

```
{
    "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 Adicionar um prefixo**  
O exemplo a seguir transforma todas as tabelas na origem para adicionar o prefixo `DMS_` a elas no destino.  

```
{
 	"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 Substituir um prefixo**  
O exemplo a seguir transforma todas as colunas contendo o prefixo `Pre_` na origem para substituí-lo por `NewPre_` no destino.  

```
{
    "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 Remover um sufixo**  
O exemplo a seguir transforma todas as tabelas na origem para remover o sufixo `_DMS` delas no destino.  

```
{
	"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 Definir uma chave primária**  
O exemplo a seguir define uma chave primária denominada `ITEM-primary-key` em três colunas da tabela `ITEM` migradas para o endpoint de destino.  

```
{
	"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 Definir um índice exclusivo**  
O exemplo a seguir define um índice exclusivo denominado `ITEM-unique-idx` em três colunas da tabela `ITEM` migradas para o endpoint de destino.  

```
{
	"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 Alterar o tipo de dados da coluna de destino**  
O exemplo a seguir altera o tipo de dados de uma coluna de destino chamada `SALE_AMOUNT` de um tipo de dados existente para `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 Adicionar uma coluna de imagem anterior**  
Para uma coluna de origem chamada `emp_no`, a regra de transformação no exemplo a seguir adiciona uma nova coluna chamada `BI_emp_no` no destino.  

```
{
	"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"
			}
		}
	]
}
```
Aqui, a instrução a seguir preenche uma coluna `BI_emp_no` na linha correspondente com 1.  

```
UPDATE employees SET emp_no = 3 WHERE BI_emp_no = 1;
```
Ao escrever atualizações do CDC em AWS DMS destinos compatíveis, a `BI_emp_no` coluna possibilita saber quais linhas têm valores atualizados na `emp_no` coluna.