Operazioni e regole di selezione - AWS Servizio di migrazione del Database

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Operazioni e regole di selezione

Mediante la mappatura delle tabelle, puoi specificare quali tabelle, viste e schemi desideri utilizzare tramite regole e operazioni di selezione. Per le regole di mappatura delle tabelle che utilizzano il tipo di regola di selezione, sono applicabili i seguenti valori.

Parametro Valori possibili Descrizione
rule-type selection Una regola di selezione. Quando specifichi una mappatura delle tabelle, devi definire almeno una regola di selezione.
rule-id Un valore numerico. Un valore numerico univoco per identificare la regola. Se crei la regola utilizzando la console, la console crea questo valore per te.
rule-name Un valore alfanumerico. Un nome univoco per identificare la regola. Se crei la regola utilizzando la console, la console crea questo valore per te.
rule-action include, exclude, explicit Un valore che include o esclude l'oggetto o gli oggetti selezionati dalla regola. Se è specificato explicit, è possibile selezionare e includere solo un oggetto che corrisponde a una tabella e a uno schema specificati in modo esplicito.
object-locator Un oggetto con i seguenti parametri:
  • schema-name: il nome dello schema.

  • table-name: il nome della tabella.

  • (Facoltativo) table-type: table | view | all per indicare se table-name si riferisce solo a tabelle, viste o sia a tabelle sia a viste. Il valore predefinito è table.

    AWS DMS carica le visualizzazioni solo in un'attività a caricamento completo. Se hai solo attività di caricamento completo e di acquisizione dei dati di modifica (CDC), configura almeno un' full-load-only attività per caricare le visualizzazioni.

    Non tutti gli endpoint di destinazione accettano le visualizzazioni come fonte di replica, anche a pieno carico (ad esempio Amazon OpenSearch Service). Controlla le limitazioni dell'endpoint di destinazione.

Il nome di ogni schema e tabella o vista a cui si applica la regola. Puoi anche specificare se una regola include solo tabelle, solo viste o sia tabelle sia viste. Se rule-action è include oppure exclude, puoi utilizzare il segno di percentuale "%" come carattere jolly per tutto o parte del valore del parametro schema-name e table-name. Per informazioni sugli altri caratteri jolly che puoi usare, consulta Caratteri jolly nella mappatura delle tabelle. Pertanto, è possibile mettere in corrispondenza questi elementi:

  • Una singola tabella, vista o raccolta in un singolo schema

  • Una singola tabella, vista o raccolta in alcuni o tutti gli schemi

  • Alcune o tutte le tabelle e le viste in un singolo schema o le raccolte in un singolo database

  • Alcune o tutte le tabelle e le viste in alcuni o tutti gli schemi o le raccolte in alcuni o tutti i database

Se rule-action è explicit, puoi specificare solo il nome esatto di una tabella o una vista e del suo schema (senza caratteri jolly).

Le origini supportate per le viste includono:

  • Oracle

  • Microsoft SQL Server

  • PostgreSQL

  • IBM Db2 LUW

  • IBM Db2 z/OS

  • SAP Adaptive Server Enterprise (ASE)

  • MySQL

  • AURORA

  • AURORA serverless

  • MariaDB

Nota

AWS DMS non carica mai una vista di origine in una vista di destinazione. Una vista di origine viene caricata in una tabella equivalente sulla destinazione con lo stesso nome della vista sull'origine.

Le origini supportate per i database contenenti raccolte sono:

  • MongoDB

  • Amazon DocumentDB

load-order Un integer positivo. Il valore massimo è 2.147.483.647. La priorità per il caricamento delle tabelle e delle viste. Le tabelle e le viste con valori più alti vengono caricate per prime.
filters Un array di oggetti . Uno o più oggetti per filtrare l'origine. È possibile specificare i parametri di oggetti per filtrare una singola colonna nell'origine. Puoi specificare più oggetti per filtrare più colonne. Per ulteriori informazioni, consulta Utilizzo di filtri di origine.
Esempio Migrazione di tutte le tabelle in uno schema

Nell'esempio seguente viene eseguita la migrazione di tutte le tabelle da uno schema denominato Test nell'origine all'endpoint di destinazione.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" } ] }
Esempio Migrazione di alcune tabelle in uno schema

Nell'esempio seguente viene eseguita la migrazione di tutte le tabelle tranne quelle che iniziano per DMS da uno schema denominato Test nell'origine all'endpoint di destinazione.

{ "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" } ] }
Esempio Migrazione di una singola tabella specificata in un singolo schema

Nell'esempio seguente la tabella Customer viene migrata dallo schema NewCust nell'origine all'endpoint di destinazione.

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

È possibile selezionare esplicitamente più tabelle e schemi specificando più regole di selezione.

Esempio Migrazione di tabelle in un ordine impostato

Nell'esempio seguente vengono migrate due tabelle. La tabella loadfirst (con priorità 1) viene inizializzata prima della tabella. 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" } ] }
Nota

load-order è applicabile per l'inizializzazione della tabella. Il caricamento di una tabella successiva non attende il completamento del caricamento della tabella precedente se MaxFullLoadSubTasks è maggiore di 1.

Esempio Migrazione di alcune viste in uno schema

L'esempio seguente esegue la migrazione di alcune viste da uno schema denominato Test nell'origine a tabelle equivalenti nella destinazione.

{ "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" } ] }
Esempio Migrazione di tutte le tabelle e tutte le viste in uno schema

L'esempio seguente esegue la migrazione di tutte le tabelle e tutte le viste da uno schema denominato report nell'origine a tabelle equivalenti nella destinazione.

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