

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Aturan dan tindakan transformasi
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations"></a>

Anda menggunakan tindakan transformasi untuk menentukan setiap transformasi Anda ingin menerapkan skema yang dipilih, tabel, atau tampilan. Aturan transformasi adalah opsional. 

## Batasan
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Limitations"></a>
+ Anda tidak dapat menerapkan lebih dari satu tindakan aturan transformasi terhadap objek yang sama (skema, tabel, kolom, table-tablespace, atau index-tablespace). Anda dapat menerapkan beberapa tindakan aturan transformasi pada tingkat apa pun selama setiap tindakan transformasi diterapkan terhadap objek yang berbeda. Namun, pembatasan ini tidak berlaku saat menggunakan aturan transformasi masking data di mana Anda dapat memiliki transformasi lain seperti `ADD-COLUMN` atau `CHANGE-DATA-TYPE` untuk kolom yang sama.
+ Nama tabel dan nama kolom dalam aturan transformasi peka huruf besar/kecil. Misalnya, Anda harus memberikan nama tabel dan nama kolom untuk database Oracle atau Db2 dalam huruf besar.
+ Transformasi tidak didukung untuk nama kolom dengan Right-to-Left bahasa.
+ Transformasi tidak dapat dilakukan pada kolom yang berisi karakter khusus (misalnya \#,\\,/, -) dalam namanya.
+ Satu-satunya transformasi yang didukung untuk kolom yang dipetakan ke tipe BLOB/CLOB data adalah dengan menjatuhkan kolom pada target.
+ AWS DMS tidak mendukung replikasi dua tabel sumber ke satu tabel target. AWS DMS mereplikasi catatan dari tabel ke tabel, dan dari kolom ke kolom, sesuai dengan aturan transformasi tugas replikasi. Nama objek harus unik untuk mencegah tumpang tindih.

  Misalnya, tabel sumber memiliki kolom bernama `ID` dan tabel target yang sesuai memiliki kolom yang sudah ada sebelumnya yang disebut`id`. Jika aturan menggunakan `ADD-COLUMN` pernyataan untuk menambahkan kolom baru yang disebut`id`, dan SQLite pernyataan untuk mengisi kolom dengan nilai kustom, ini akan menciptakan duplikat, objek ambigu bernama `id` dan tidak didukung. 
+ Saat membuat aturan transformasi, sebaiknya gunakan `data-type` parameter hanya jika aturan pemilihan menentukan beberapa kolom, misalnya, saat Anda `column-name` menyetelnya`%`. Kami tidak menyarankan menggunakan `data-type` untuk memilih satu kolom.
+ AWS DMS tidak mendukung aturan transformasi di mana objek sumber dan target (tabel) berada pada database/skema yang sama. Menggunakan tabel yang sama sebagai sumber dan target dalam aturan transformasi dapat menyebabkan hasil yang tidak terduga dan berpotensi berbahaya, termasuk namun tidak terbatas pada perubahan yang tidak diinginkan pada data tabel, modifikasi struktur tabel atau bahkan tabel yang dijatuhkan.

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

Untuk aturan pemetaan tabel yang menggunakan jenis aturan transformasi, Anda dapat menerapkan nilai berikut. 


| Parameter | Kemungkinan nilai | Deskripsi | 
| --- | --- | --- | 
| rule-type | transformation | Nilai yang berlaku aturan untuk setiap objek yang ditentukan oleh aturan seleksi. Gunakantransformationkecuali dinyatakan lain. | 
| rule-id | Nilai numerik. | Nilai numerik yang unik untuk mengidentifikasi aturan. Jika Anda menentukan beberapa aturan transformasi untuk objek yang sama (skema, tabel, kolom, ruang antar-tabel, atau ruang tabel indeks), AWS DMS terapkan aturan transformasi dengan rule-id yang lebih rendah. | 
| rule-name | Nilai alfanumerik. | Nama unik untuk mengidentifikasi aturan. | 
| object-locator | Objek dengan parameter berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Nama setiap skema, tabel atau tampilan, tabel tablespace, tablespace indeks, dan kolom yang aturan berlaku. Anda dapat menggunakan tanda persen “%” sebagai wildcard untuk semua atau sebagian dari nilai di setiap parameter `object-locator`, kecuali `data-type`. Dengan demikian, Anda bisa mencocokkan barang-barang ini:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html)<br />Juga, parameter `table-tablespace-name` atau `index-tablespace-name` ini hanya tersedia untuk mencocokkan titik akhir sumber Oracle. Anda dapat menentukan baik`table-tablespace-name`atau`index-tablespace-name`dalam satu aturan, tetapi tidak keduanya. Dengan demikian, Anda bisa mencocokkan*baik*item berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/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` | Transformasi yang ingin Anda terapkan ke objek. Semua tindakan aturan transformasi peka huruf besar-kecil.<br />Nilai `add-column` dari parameter `rule-action` menambahkan kolom ke tabel. Tetapi Anda tidak dapat menambahkan kolom baru dengan nama yang sama dengan kolom yang ada dari tabel yang sama.<br />Ketika digunakan dengan`expression`dan`data-type`Parameter,`add-column`menentukan nilai data kolom baru. <br />Nilai `change-data-type` untuk `rule-action` hanya tersedia untuk `column` target aturan.<br />Nilai `include-column` dari parameter `rule-action` mengubah modus tabel ke *jatuhkan semua kolom secara default* dan *sertakan kolom yang ditentukan*. Beberapa kolom termasuk dalam target dengan menerapkan`include-column`aturan beberapa kali.<br />Anda tidak dapat menggunakan `define-primary-key` aturan ketika aturan memiliki wildcard (`%`) dalam skema atau nama tabel. <br />Untuk tugas yang ada, tindakan aturan transformasi yang mengubah skema tabel target seperti`remove-column`,`rename`, atau tidak `add-prefix` akan berlaku sampai Anda memulai ulang tugas. Jika Anda melanjutkan tugas setelah menambahkan aturan transformasi, Anda mungkin melihat perilaku tak terduga untuk kolom yang diubah, yang mungkin menyertakan data kolom yang hilang. Diperlukan restart tugas untuk memastikan aturan transformasi berfungsi dengan baik.<br />The`data-masking-digits-mask`,`data-masking-digits-randomize`, dan `data-masking-hash-mask` adalah untuk menutupi informasi sensitif yang terkandung dalam satu atau lebih kolom tabel saat memuat ke target. Transformasi ini hanya tersedia untuk target aturan kolom. Untuk detail selengkapnya, lihat [Menggunakan masking data untuk menyembunyikan informasi sensitif](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.md)  | 
| rule-target | schema, table, column, table-tablespace, index-tablespace | Jenis objek yang Anda ubah.Parameter`table-tablespace`dan`index-tablespace`nilai hanya tersedia untuk Oracle target endpoint. <br />Pastikan untuk menentukan nilai untuk parameter yang Anda tentukan sebagai bagian dari`object-locator`:`table-tablespace-name`atau`index-tablespace-name`nama. | 
| value | Nilai alfanumerik yang mengikuti aturan penamaan untuk jenis target. | Nilai baru untuk tindakan yang memerlukan masukan, sepertirename. | 
| old-value | Nilai alfanumerik yang mengikuti aturan penamaan untuk jenis target. | Nilai lama untuk tindakan yang memerlukan penggantian, sepertireplace-prefix. | 
| data-type | `type`— Tipe data untuk digunakan jika`rule-action`adalah`add-column`atau tipe data pengganti jika`rule-action`adalah`change-data-type`.<br />Atau, nama tipe data pengganti saat `rule-action` adalah `change-data-type`, nilai dari `column-name` adalah `"%"`, dan parameter `data-type` tambahan untuk mengidentifikasi tipe data yang ada termasuk dalam `object-locator`.<br />AWS DMS mendukung transformasi tipe data kolom untuk tipe data DMS berikut: `"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 dapat menerapkan transformasi dari satu jenis ke jenis lainnya HANYA dalam format yang didukung. Misalnya DATE harus diwakili dalam `YYYY:MM:DD/YYYY-MM-DD.` DATETIME harus diwakili dalam. `YYYY:MM:DD HH:MM:SS/YYYY-MM-DD HH:MM:SS` Waktu harus direpresentasikan dalam`HH:MM:SS`. <br />`precision`— Jika kolom ditambahkan atau tipe data pengganti memiliki presisi, nilai integer untuk menentukan presisi.<br />`scale`— Jika kolom tambahan atau tipe data pengganti memiliki skala, nilai integer atau nilai waktu tanggal untuk menentukan skala.<br />`length`— Panjang data kolom baru (bila digunakan dengan`add-column`)  | Berikut ini adalah contoh parameter `data-type` untuk menentukan tipe data yang ada untuk diganti. <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 />Di sini, `col10` kolom `table_t` tabel diubah menjadi tipe `string` data. | 
| expression | Nilai alfanumerik yang mengikuti sintaks. SQLite  | Ketika digunakan dengan`rule-action`diatur ke`rename-schema`,`expression`parameter menentukan skema baru. Ketika digunakan dengan`rule-action`diatur ke`rename-table`,`expression`menentukan tabel baru. Ketika digunakan dengan`rule-action`diatur ke`rename-column`,`expression`menentukan nilai nama kolom baru.<br />Ketika digunakan dengan`rule-action`diatur ke`add-column`,`expression`menentukan data yang membentuk kolom baru.<br />Perhatikan bahwa hanya ekspresi yang didukung untuk parameter ini. Operator dan perintah tidak didukung.<br />Untuk informasi selengkapnya tentang penggunaan ekspresi untuk aturan transformasi, lihat[Menggunakan ekspresi aturan transformasi untuk menentukan isi kolom](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md).<br />Untuk informasi selengkapnya tentang SQLite ekspresi, lihat[Menggunakan SQLite fungsi untuk membangun ekspresi](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite). | 
| primary-key-def | Objek dengan parameter berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Parameter ini dapat menentukan nama, jenis, dan isi dari kunci unik pada tabel atau tampilan yang diubah. Hal itu dilakukan ketikarule-actiondiatur kedefine-primary-keydanrule-targetdiatur ketable. Secara default, kunci unik didefinisikan sebagai kunci primer. | 
| before-image-def | Objek dengan parameter berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Parameter ini mendefinisikan konvensi penamaan untuk mengidentifikasi kolom citra sebelumnya dan menentukan filter untuk mengidentifikasi kolom sumber mana yang dapat memiliki kolom citra sebelumnya dibuat untuk mereka pada target. Anda dapat menentukan parameter ini ketika`rule-action`diatur ke`add-before-image-columns`dan`rule-target`diatur ke`column`.<br />Jangan atur keduanya`column-prefix`dan`column-suffix`untuk mengosongkan string.<br />Untuk`column-filter`, pilih:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) `before-image-def`Parameter tidak mendukung tipe data objek biner besar (LOB) seperti CLOB dan BLOB. Jika tipe data ditetapkan sebagai LOB, kolom void dibuat dalam tabel. <br />Untuk informasi lebih lanjut tentang dukungan sebelum-gambar untuk AWS DMS target endpoint, lihat:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | 

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

**Example Ubah Nama Skema**  
Contoh berikut mengganti nama skema dari`Test`di sumber Anda untuk`Test1`dalam target Anda.  

```
{

    "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 Ubah Nama Tabel**  
Contoh berikut mengganti nama tabel dari`Actor`di sumber Anda untuk`Actor1`dalam target Anda.  

```
{
    "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 Ubah Nama Kolom**  
Contoh berikut mengganti nama kolom dalam tabel`Actor`dari`first_name`di sumber Anda untuk`fname`dalam target Anda.  

```
{
    "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 Mengubah nama tablespace tabel Oracle**  
Contoh berikut mengganti nama tablespace tabel bernama`SetSpace`untuk sebuah tabel bernama`Actor`di sumber Oracle Anda untuk`SceneTblSpace`di titik akhir target Oracle Anda.  

```
{
    "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 Mengubah nama sebuah tablespace indeks Oracle**  
Contoh berikut mengganti nama tablespace indeks bernama`SetISpace`untuk sebuah tabel bernama`Actor`di sumber Oracle Anda untuk`SceneIdxSpace`di titik akhir target Oracle Anda.  

```
{
    "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 Tambahkan kolom**  
Contoh berikut menambahkan`datetime`kolom ke tabel`Actor`dalam skema`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 Hapus kolom**  
Contoh berikut mengubah tabel bernama`Actor`di sumber Anda untuk menghapus semua kolom yang dimulai dengan karakter`col`dari itu di target Anda.  

```
{
 	"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 Mengkonversi ke lowercase**  
Contoh berikut mengkonversi nama tabel dari`ACTOR`di sumber Anda untuk`actor`dalam target Anda.  

```
{
	"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 Mengkonversi ke huruf besar**  
Contoh berikut mengkonversi semua kolom di semua tabel dan semua skema dari huruf kecil di sumber Anda untuk huruf besar dalam target Anda.  

```
{
    "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 Tambahkan prefiks**  
Contoh berikut mengubah semua tabel di sumber Anda untuk menambahkan awalan`DMS_`kepada mereka dalam target Anda.  

```
{
 	"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 Ganti awalan**  
Contoh berikut mengubah semua kolom yang berisi awalan`Pre_`di sumber anda untuk mengganti awalan dengan`NewPre_`dalam target Anda.  

```
{
    "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 Hapus sufiks**  
Contoh berikut mengubah semua tabel di sumber Anda untuk menghapus akhiran`_DMS`dari mereka di target Anda.  

```
{
	"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 Mendefinisikan kunci primer**  
Contoh berikut mendefinisikan kunci primer bernama`ITEM-primary-key`pada tiga kolom`ITEM`tabel bermigrasi ke titik akhir target Anda.  

```
{
	"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 Tentukan indeks yang unik**  
Contoh berikut mendefinisikan indeks unik bernama`ITEM-unique-idx`pada tiga kolom`ITEM`tabel bermigrasi ke titik akhir target Anda.  

```
{
	"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 Mengubah tipe data dari kolom target**  
Contoh berikut mengubah tipe data dari kolom target bernama`SALE_AMOUNT`dari tipe data yang ada ke`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 Tambahkan kolom gambar sebelum**  
Untuk kolom sumber bernama`emp_no`, aturan transformasi dalam contoh berikut menambahkan kolom baru bernama`BI_emp_no`target.  

```
{
	"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"
			}
		}
	]
}
```
Di sini, pernyataan berikut populates`BI_emp_no`kolom di baris yang sesuai dengan 1.  

```
UPDATE employees SET emp_no = 3 WHERE BI_emp_no = 1;
```
Saat menulis pembaruan CDC ke AWS DMS target yang didukung, `BI_emp_no` kolom memungkinkan untuk mengetahui baris mana yang memiliki nilai terbaru di `emp_no` kolom.