Règles et actions de sélection - AWS Database Migration Service

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 sélection

Le mappage de tables vous permet de spécifier les tables, vues ou schémas que vous voulez utiliser grâce aux actions et règles de sélection. Pour les règles de mappage de tables qui utilisent le type de règle de sélection, vous pouvez appliquer les valeurs suivantes :

Paramètre Valeurs possibles Description
rule-type selection Règle de sélection. Définissez au moins une règle de sélection lorsque vous spécifiez un mapping de table.
rule-id Valeur numérique. Valeur numérique unique pour identifier la règle. Si vous créez la règle à l'aide de la console, celle-ci crée cette valeur pour vous.
rule-name Valeur alphanumérique. Nom unique pour identifier la règle. Si vous créez la règle à l'aide de la console, celle-ci crée cette valeur pour vous.
rule-action include, exclude, explicit Valeur qui inclut ou exclut le ou les objets sélectionnés par la règle. Si explicit est spécifié, vous pouvez sélectionner et inclure un seul objet correspondant à une table et un schéma explicitement spécifiés.
object-locator Objet avec les paramètres suivants :
  • schema-name : nom du schéma.

  • table-name : nom de la table.

  • (Facultatif) table-type : table | view | all, pour indiquer si table-name fait uniquement référence aux tables, aux vues ou aux deux à la fois. L’argument par défaut est table.

    AWS DMS charge les vues uniquement dans le cadre d'une tâche à chargement complet. Si vous n'avez que des tâches de chargement complet et de capture des données modifiées (CDC), configurez au moins une full-load-only tâche pour charger vos vues.

    Les points de terminaison cibles n'acceptent pas tous les points de terminaison comme source de réplication, même à pleine charge (Amazon OpenSearch Service, par exemple). Vérifiez les limitations du point de terminaison cible.

Nom de chaque schéma et de chaque table ou vue auxquels la règle s'applique. Vous pouvez également spécifier si une règle inclut uniquement des tables, uniquement des vues ou à la fois des tables et des vues. Si rule-action a pour valeur include ou exclude, vous pouvez utiliser le signe « % » comme caractère générique pour tout ou partie de la valeur des paramètres schema-name et table-name. Pour en savoir plus sur les autres caractères génériques que vous pouvez utiliser, consultez Caractères génériques dans le mappage de table. Ainsi, vous pouvez faire correspondre ces éléments :

  • Une table, une vue ou une collection unique dans un seul schéma

  • Une table, une vue ou une collection unique dans tout ou partie des schémas

  • Certaines ou toutes les tables et vues dans un schéma unique, ou les collections dans une seule base de données

  • Certaines ou toutes les tables et vues dans tout ou partie des schémas, ou les collections dans tout ou partie des bases de données

Si rule-action a pour valeur explicit, vous pouvez uniquement spécifier le nom exact d'une table ou d'une vue unique et de son schéma (sans caractères génériques).

Les sources prises en charge pour les vues sont les suivantes :

  • Oracle

  • Microsoft SQL Server

  • PostgreSQL

  • IBM Db2 LUW

  • IBM DB2 z/OS

  • SAP Adaptive Server Enterprise (ASE)

  • MySQL

  • AURORA

  • AURORA sans serveur

  • MariaDB

Note

AWS DMS ne charge jamais une vue source dans une vue cible. Une vue source est chargée dans une table équivalente de la cible avec le même nom que la vue dans la source.

Les sources prises en charge pour les bases de données contenant des collections sont les suivantes :

  • MongoDB

  • Amazon DocumentDB

load-order Nombre entier positif. La valeur maximale est 2 147 483 647. Priorité pour le chargement des tables et des vues. Les tables et les vues avec des valeurs plus élevées sont chargées en premier.
filters Tableau d’objets . Un ou plusieurs objets pour filtrer la source. Vous spécifiez des paramètres d'objet pour filtrer sur une seule colonne de la source. Vous spécifiez plusieurs objets pour filtrer sur plusieurs colonnes. Pour plus d’informations, consultez Utilisation de filtres de source.
Exemple Migrer toutes les tables dans un schéma

L'exemple suivant migre toutes les tables d'un schéma nommé Test de la source vers votre point de terminaison cible.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" } ] }
Exemple Migrer certaines tables d'un schéma

L'exemple suivant migre toutes les tables, sauf celles commençant par DMS, d'un schéma nommé Test de la source vers votre point de terminaison cible.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "DMS%" }, "rule-action": "exclude" } ] }
Exemple Migration d'une table unique spécifiée dans un schéma unique

L'exemple suivant migre la table Customer du schéma NewCust de votre source vers votre point de terminaison cible.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "NewCust", "table-name": "Customer" }, "rule-action": "explicit" } ] }
Note

Vous pouvez explicitement procéder à une sélection dans plusieurs tables et schémas en spécifiant plusieurs règles de sélection.

Exemple Migration des tables dans un ordre défini

L'exemple suivant migre deux tables. La table loadfirst (avec priorité 1) est initialisée avant la table. loadsecond

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "loadsecond" }, "rule-action": "include", "load-order": "1" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "loadfirst" }, "rule-action": "include", "load-order": "2" } ] }
Note

load-order s’applique à l’initialisation de la table. Le chargement d’une table successive n’attendra pas la fin du chargement d’une table précédente si MaxFullLoadSubTasks est supérieur à 1.

Exemple Migrer certaines vues d'un schéma

L'exemple suivant migre certaines vues d'un schéma nommé Test de votre source vers des tables équivalentes dans votre cible.

{ "rules": [ { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "Test", "table-name": "view_DMS%", "table-type": "view" }, "rule-action": "include" } ] }
Exemple Migrer toutes les tables et vues d'un schéma

L'exemple suivant migre toutes les tables et vues d'un schéma nommé report de votre source vers des tables équivalentes dans votre cible.

{ "rules": [ { "rule-type": "selection", "rule-id": "3", "rule-name": "3", "object-locator": { "schema-name": "report", "table-name": "%", "table-type": "all" }, "rule-action": "include" } ] }