

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Transformationsregeln und Aktionen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations"></a>

Sie verwenden die Transformationsaktionen, um alle Transformationen anzugeben, die Sie auf das ausgewählte Schema, Tabelle oder Ansicht anwenden möchten. Transformationsregeln sind optional. 

## Einschränkungen
<a name="CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.Limitations"></a>
+ Sie können nicht mehr als eine Transformationsregelaktion auf dasselbe Objekt (Schema, Tabelle, Spalte, Tabellen-Tablespace oder Index-Tablespace) anwenden. Sie können mehrere Transformationsregelaktionen auf jeder Ebene anwenden, solange jede Transformationsaktion auf ein anderes Objekt angewendet wird. Diese Einschränkung gilt jedoch nicht, wenn Sie Transformationsregeln für die Datenmaskierung verwenden, bei denen Sie eine weitere Transformation wie oder für dieselbe Spalte verwenden können. `ADD-COLUMN` `CHANGE-DATA-TYPE`
+ Bei Tabellennamen und Spaltennamen in Transformationsregeln muss die Groß- und Kleinschreibung beachtet werden. Beispielsweise müssen Sie Tabellennamen und Spaltennamen für eine Oracle- oder Db2-Datenbank in Großbuchstaben angeben.
+ Transformationen werden für Spaltennamen mit Right-to-Left Sprachen nicht unterstützt.
+ Transformationen können nicht für Spalten durchgeführt werden, deren Name Sonderzeichen (z. B. \#, \\, /, -) enthält.
+ Die einzige unterstützte Transformation für Spalten, die BLOB/CLOB Datentypen zugeordnet sind, besteht darin, die Spalte auf dem Ziel zu löschen.
+ AWS DMS unterstützt nicht die Replikation von zwei Quelltabellen in eine einzelne Zieltabelle. AWS DMS repliziert Datensätze von Tabelle zu Tabelle und von Spalte zu Spalte gemäß den Transformationsregeln der Replikationsaufgabe. Die Objektnamen müssen eindeutig sein, um Überschneidungen zu vermeiden.

  Beispielsweise hat eine Quelltabelle eine Spalte mit dem Namen `ID` und die entsprechende Zieltabelle hat eine bereits existierende Spalte mit dem Namen `id`. Wenn eine Regel eine `ADD-COLUMN` Anweisung verwendet, um eine neue Spalte namens hinzuzufügen`id`, und eine SQLite Anweisung, um die Spalte mit benutzerdefinierten Werten zu füllen, erzeugt dies ein doppeltes, mehrdeutiges Objekt mit dem Namen `id` und wird nicht unterstützt. 
+ Beim Erstellen einer Transformationsregel empfehlen wir, den `data-type` Parameter nur zu verwenden, wenn die Auswahlregeln mehrere Spalten angeben, z. B. wenn Sie `column-name` auf `%` festlegen. Wir empfehlen nicht, `data-type` für die Auswahl einer einzelnen Spalte zu verwenden.
+ AWS DMS unterstützt keine Transformationsregeln, bei denen sich Quell- und Zielobjekte (Tabellen) in derselben Datenbank/demselben Schema befinden. Die Verwendung derselben Tabelle als Quelle und Ziel in einer Transformationsregel kann zu unerwarteten und potenziell schädlichen Ergebnissen führen, einschließlich, aber nicht beschränkt auf unbeabsichtigte Änderungen an den Tabellendaten, Änderungen von Tabellenstrukturen oder sogar das Löschen von Tabellen.

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

Für Tabellenzuweisungsregeln, die den Regeltyp "Transformation" verwenden, können Sie die folgenden Werte anwenden. 


| Parameter | Mögliche Werte | Description | 
| --- | --- | --- | 
| rule-type | transformation | Ein Wert, mit dem die Regel auf jedes von der Auswahlregel festgelegte Objekt angewendet wird. Verwenden Sie transformation, falls nicht anders angegeben. | 
| rule-id | Ein numerischer Wert. | Ein eindeutiger numerischer Wert zur Identifizierung der Regel. Wenn Sie mehrere Transformationsregeln für dasselbe Objekt angeben (Schema, Tabelle, Spalte, tabellenübergreifender Bereich oder Indextabellenbereich), wird die Transformationsregel mit der niedrigeren Regel-ID AWS DMS angewendet. | 
| rule-name | Ein alphanumerischer Wert. | Ein eindeutiger Name zur Identifizierung der Regel. | 
| object-locator | Ein Objekt mit den folgenden Parametern:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Der Name der einzelnen Schemata, Tabellen oder Ansichten, Tabellen-Tabellenräume, Index-Tabellenräume und Spalten, für die die Regel gilt. Sie können das Prozentzeichen „%“ als Platzhalter für alle oder einen Teil der Werte der einzelnen `object-locator`-Parameter verwenden, ausgenommen `data-type`. Auf diese Weise können Sie diese Elemente aufeinander abstimmen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html)<br />Darüber hinaus ist der Parameter `table-tablespace-name` oder `index-tablespace-name` nur verfügbar, um mit einem Oracle-Quellendpunkt übereinzustimmen. Sie können entweder `table-tablespace-name` oder `index-tablespace-name` in einer einzelnen Regel angeben, aber nicht beides. Daher können Sie *eines* der folgenden Elemente abstimmen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/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` | Die Transformation, die Sie auf das Objekt anwenden möchten. Bei allen Transformationsregelaktionen wird zwischen Groß- und Kleinschreibung unterschieden.<br />Der `add-column`-Wert des `rule-action`-Parameters fügt einer Tabelle eine Spalte hinzu. Sie können jedoch keine neue Spalte mit dem gleichen Namen wie eine vorhandene Spalte derselben Tabelle hinzufügen.<br />`add-column` gibt bei Verwendung mit den Parametern `expression` und `data-type` den Wert der neuen Spaltendaten an. <br />Der `change-data-type`-Wert für `rule-action` ist nur für `column`-Regelziele verfügbar.<br />Der `include-column`-Wert des `rule-action`-Parameters ändert den Modus der Tabelle, so dass *standardmäßig alle Spalten gelöscht* und *die angegebenen Spalten eingeschlossen werden*. Durch mehrmaliges Aufrufen der `include-column`-Regel werden mehrere Spalten in das Ziel aufgenommen.<br />Sie können eine `define-primary-key`-Regel nicht verwenden, wenn die Regel einen Platzhalter (`%`) in einem Schema- oder Tabellennamen enthält. <br />Für eine bestehende Aufgabe werden Transformationsregelaktionen, die das Zieltabellenschema ändern, wie`remove-column`, `rename` oder `add-prefix`, erst wirksam, wenn Sie die Aufgabe neu starten. Wenn Sie die Aufgabe nach dem Hinzufügen der Transformationsregel fortsetzen, stellen Sie möglicherweise ein unerwartetes Verhalten für die geänderte Spalte fest, zu dem auch fehlende Spaltendaten gehören können. Ein Neustart der Aufgabe ist erforderlich, um sicherzustellen, dass die Transformationsregel ordnungsgemäß funktioniert.<br />Die`data-masking-digits-mask`, und `data-masking-digits-randomize` `data-masking-hash-mask` dienen dazu, vertrauliche Informationen zu maskieren, die in einer oder mehreren Spalten der Tabelle enthalten sind, wenn sie in das Ziel geladen werden. Diese Transformationen sind nur für Spaltenregelziele verfügbar. Weitere Details finden Sie unter [Verwendung von Datenmaskierung zum Verbergen vertraulicher Informationen](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Masking.md).  | 
| rule-target | schema, table, column, table-tablespace, index-tablespace | Der Objekttyp, den Sie transformieren.Die Werte `table-tablespace` und `index-tablespace` sind nur für einen Oracle-Zielendpunkt verfügbar. <br />Stellen Sie sicher, dass Sie einen Wert für den Parameter als Teil des Namens `object-locator`: `table-tablespace-name` oder `index-tablespace-name` angeben. | 
| value | Ein alphanumerischer Wert, der den Benennungsregeln für den Zieltyp folgt. | Der neue Wert für Aktionen, die eine Eingabe erfordern, z. B. rename. | 
| old-value | Ein alphanumerischer Wert, der den Benennungsregeln für den Zieltyp folgt. | Der alte Wert für Aktionen, die Ersatz erfordern, z. B. replace-prefix. | 
| data-type | `type` – Der Datentyp, der verwendet werden soll, wenn `rule-action` `add-column` ist, bzw. der Ersatzdatentyp, wenn `rule-action` `change-data-type` ist.<br />Oder der Name des Ersetzungsdatentyps, wenn `rule-action` `change-data-type`, der Wert von `column-name` `"%"` ist, und ein zusätzlicher `data-type`-Parameter zur Identifizierung des vorhandenen Datentyps in der `object-locator` enthalten ist.<br />AWS DMS unterstützt Transformationen von Spaltendatentypen für die folgenden DMS-Datentypen: `"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 kann Transformationen von einem Typ zu einem anderen NUR in unterstützten Formaten anwenden. z. B. DATE sollte in `YYYY:MM:DD/YYYY-MM-DD.` DATETIME dargestellt werden. `YYYY:MM:DD HH:MM:SS/YYYY-MM-DD HH:MM:SS` TIME sollte in `HH:MM:SS` dargestellt werden. <br />`precision` – Wenn der hinzugefügte Spalten- oder Ersetzungsdatentyp eine Genauigkeit aufweist, wird ein ganzzahliger Wert zur Angabe der Genauigkeit angegeben.<br />`scale` – Wenn der hinzugefügte Spalten- oder der Ersatzdatentyp eine Skala, einen Ganzzahlwert oder einen Datums-/Uhrzeitwert hat, um den Maßstab anzugeben.<br />`length` – Die Länge der neuen Spaltendaten (bei Verwendung mit `add-column`)  | Im Folgenden sehen Sie ein Beispiel für einen `data-type`-Parameter zur Angabe des vorhandenen Datentyps, der ersetzt werden soll. <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 />Hier wird die Spalte `col10` der Tabelle `table_t` zum Datentyp `string` geändert. | 
| expression | Ein alphanumerischer Wert, der der SQLite Syntax folgt.  | Bei Verwendung mit dem `rule-action`-Wert `rename-schema` gibt der `expression`-Parameter ein neues Schema an. Bei Verwendung mit dem `rule-action`-Wert `rename-table`gibt `expression` eine neue Tabelle an. Bei Verwendung mit dem `rule-action`-Wert `rename-column` gibt `expression` einen neuen Spaltennamen an.<br />Bei Verwendung mit dem `rule-action`-Wert `add-column` gibt `expression` Daten an, aus denen eine neue Spalte besteht.<br />Beachten Sie, dass für diesen Parameter nur Ausdrücke unterstützt werden. Operatoren und Befehle werden nicht unterstützt.<br />Weitere Informationen zum Verwenden von Ausdrücken für Transformationsregeln finden Sie unter [Verwenden von Transformationsregelausdrücken zum Definieren von Spalteninhalten](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md).<br />Weitere Hinweise zu SQLite Ausdrücken finden Sie unter[Verwenden von SQLite Funktionen zum Erstellen von Ausdrücken](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions.md#CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Expressions-SQLite). | 
| primary-key-def | Ein Objekt mit den folgenden Parametern:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Dieser Parameter kann den Namen, Typ und Inhalt eines eindeutigen Schlüssels in der transformierten Tabelle oder Ansicht definieren. Dies geschieht, wenn rule-action auf define-primary-key und rule-target auf table gesetzt ist. Standardmäßig ist der eindeutige Schlüssel als Primärschlüssel definiert. | 
| before-image-def | Ein Objekt mit den folgenden Parametern:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | Dieser Parameter definiert eine Benennungskonvention zum Identifizieren der Vorher-Abbild-Spalten und gibt einen Filter an, um zu identifizieren, für welche Quellspalten Vorher-Abbild-Spalten auf dem Ziel erstellt werden können. Sie können diesen Parameter angeben, wenn `rule-action` auf `add-before-image-columns` und `rule-target` auf `column` gesetzt ist.<br />Setzen Sie nicht `column-prefix` und `column-suffix` auf leere Zeichenfolgen.<br />Wählen Sie bei `column-filter` folgende Optionen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) Der `before-image-def` Parameter unterstützt keine LOB-Datentypen (Large Binary Object) wie CLOB und BLOB. Wenn der Datentyp auf LOB festgelegt ist, wird in der Tabelle eine ungültige Spalte erstellt. <br />Weitere Informationen zur Unterstützung von Vorher-Abbildern für AWS DMS -Zielendpunkte finden Sie unter:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.html) | 

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

**Example Umbenennen eines Schemas**  
Im folgenden Beispiel wird ein Schema von `Test` in Ihrer Quelle auf `Test1` in Ihrem Ziel umbenannt.  

```
{

    "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 Tabellen umbenennen**  
Im folgenden Beispiel wird eine Tabelle von `Actor` in Ihrer Quelle auf `Actor1` in Ihrem Ziel umbenannt.  

```
{
    "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 Umbenennen einer Spalte**  
Im folgenden Beispiel wird eine Spalte in Tabelle `Actor` von `first_name` in Ihrer Quelle auf `fname` in Ihrem Zielendpunkt umbenannt.  

```
{
    "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 Umbenennen eines Oracle-Tabellen-Tabellenraums**  
Im folgenden Beispiel wird der Tabellen-Tabellenraum mit dem Namen `SetSpace` für eine Tabelle mit dem Namen `Actor` in Ihrer Oracle-Quelle auf `SceneTblSpace` in Ihrem Oracle-Zielendpunkt umbenannt.  

```
{
    "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 Umbenennen eines Oracle-Index-Tabellenraums**  
Im folgenden Beispiel wird der Index-Tabellenraum mit dem Namen `SetISpace` für eine Tabelle mit dem Namen `Actor` in Ihrer Oracle-Quelle auf `SceneIdxSpace` in Ihrem Oracle-Zielendpunkt umbenannt.  

```
{
    "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 Hinzufügen einer Spalte**  
Im folgenden Beispiel wird der Tabelle `Actor` im Schema `test` eine `datetime`- Spalte hinzugefügt.  

```
{
    "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 Entfernen einer Spalte**  
Im folgenden Beispiel wird die Tabelle mit dem Namen `Actor` in Ihrer Quelle so transformiert, dass alle Spalten, die mit den Zeichen `col` beginnen, in Ihrem Ziel daraus entfernt werden.  

```
{
 	"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 In Kleinbuchstaben konvertieren**  
Im folgenden Beispiel wird ein Tabellenname von `ACTOR` in Ihrer Quelle auf `actor` in Ihrem Ziel umgewandelt.  

```
{
	"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 Umwandeln in Großschreibung**  
Im folgenden Beispiel werden alle Spalten in allen Tabellen und allen Schemata von Kleinschreibung an Ihrer Quelle in Großschreibung an Ihrem Ziel umgewandelt.  

```
{
    "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 Hinzufügen eines Präfix**  
Im folgenden Beispiel werden alle Tabellen in Ihrer Quelle so transformiert, dass ihnen das Präfix `DMS_` in Ihrem Ziel hinzugefügt wird.  

```
{
 	"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 Ersetzen eines Präfix**  
Im folgenden Beispiel werden alle Spalten, die das Präfix `Pre_` in Ihrer Quelle enthalten, so transformiert, dass das Präfix durch `NewPre_` in Ihrem Ziel ersetzt wird.  

```
{
    "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 Entfernen eines Suffix**  
Im folgenden Beispiel werden alle Tabellen in Ihrer Quelle so transformiert, dass aus ihnen das Suffix `_DMS` in Ihrem Ziel entfernt wird.  

```
{
	"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 Definieren eines Primärschlüssels**  
Das folgende Beispiel definiert einen Primärschlüssel mit dem Namen `ITEM-primary-key` auf drei Spalten der `ITEM`-Tabelle, die zu Ihrem Zielendpunkt migriert wurde.  

```
{
	"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 Definieren eines eindeutigen Index**  
Das folgende Beispiel definiert einen eindeutigen Index mit dem Namen `ITEM-unique-idx` auf drei Spalten der `ITEM`-Tabelle, die zu Ihrem Zielendpunkt migriert wurde.  

```
{
	"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 Ändern des Datentyps der Zielspalte**  
Im folgenden Beispiel wird der Datentyp einer Zielspalte namens `SALE_AMOUNT` von einem vorhandenen Datentyp in `int8` geändert.  

```
{
    "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 Hinzufügen einer Vorher-Abbild-Spalte**  
Für eine Quellspalte mit dem Namen `emp_no` fügt die Transformationsregel im folgenden Beispiel eine neue Spalte mit dem Namen `BI_emp_no` auf dem Ziel hinzu.  

```
{
	"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"
			}
		}
	]
}
```
Hier füllt die folgende Anweisung eine `BI_emp_no`-Spalte in der entsprechenden Zeile mit 1.  

```
UPDATE employees SET emp_no = 3 WHERE BI_emp_no = 1;
```
Beim Schreiben von CDC-Aktualisierungen für unterstützte AWS DMS Ziele lässt sich anhand der `BI_emp_no` Spalte erkennen, für welche Zeilen die Werte in der `emp_no` Spalte aktualisiert wurden.