Utilizzo di Amazon DocumentDB (con compatibilità con MongoDB) come fonte per AWS DMS - 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à.

Utilizzo di Amazon DocumentDB (con compatibilità con MongoDB) come fonte per AWS DMS

Per informazioni sulle versioni di Amazon DocumentDB (compatibile con MongoDB) supportate da AWS DMS come origine, consulta Fonti per AWS DMS.

Con Amazon DocumentDB utilizzato come origine, puoi migrare i dati da un cluster Amazon DocumentDB a un altro cluster Amazon DocumentDB. Puoi anche migrare i dati da un cluster Amazon DocumentDB a uno degli altri endpoint di destinazione supportati da. AWS DMS

Se non hai familiarità con Amazon DocumentDB, tieni presente i seguenti concetti importanti sui database Amazon DocumentDB:

  • Un record in Amazon DocumentDB è un documento, ossia una struttura di dati costituita da coppie di campi e valori. Il valore di un campo può includere altri documenti, matrici e matrici di documenti. Un documento è approssimativamente equivalente a una riga di una tabella di database relazionali.

  • Una raccolta in Amazon DocumentDB è un gruppo di documenti ed è approssimativamente equivalente alla tabella di un database relazionale.

  • Un database in Amazon DocumentDB è un insieme di raccolte ed è più o meno equivalente allo schema di un database relazionale.

AWS DMS supporta due modalità di migrazione quando si utilizza Amazon DocumentDB come sorgente, modalità documento e modalità tabella. Specifichi la modalità di migrazione quando crei l'endpoint di origine Amazon DocumentDB nella AWS DMS console, utilizzando l'opzione Metadata mode o l'attributo di connessione extra. nestingLevel Di seguito è riportata la spiegazione di come la scelta della modalità di migrazione influenza il formato risultante dei dati di destinazione.

Modalità documento

Con la modalità documento, il documento JSON viene migrato così com'è. Ciò significa che i dati del documento vengono consolidati in uno dei due elementi. Quando utilizzi un database relazionale come destinazione, i dati sono costituiti da una singola colonna denominata _doc in una tabella di destinazione. Quando utilizzi un database non relazionale come destinazione, i dati sono costituiti da un singolo documento JSON. La modalità documento è quella predefinita, consigliata per la migrazione a una destinazione di Amazon DocumentDB.

Considera, ad esempio, i seguenti documenti in una raccolta Amazon DocumentDB denominata myCollection.

> db.myCollection.find() { "_id" : ObjectId("5a94815f40bd44d1b02bdfe0"), "a" : 1, "b" : 2, "c" : 3 } { "_id" : ObjectId("5a94815f40bd44d1b02bdfe1"), "a" : 4, "b" : 5, "c" : 6 }

Una volta completata la migrazione dei dati a una tabella di database relazionale utilizzando la modalità documento, i dati vengono strutturati come segue. I campi dei dati nel documento sono consolidati nella colonna _doc.

oid_id _doc
5a94815f40bd44d1b02bdfe0 { "a" : 1, "b" : 2, "c" : 3 }
5a94815f40bd44d1b02bdfe1 { "a" : 4, "b" : 5, "c" : 6 }

Puoi impostare facoltativamente l'attributo aggiuntivo di connessione extractDocID su true per creare una seconda colonna denominata "_id" che agisca come chiave primaria. Se intendi utilizzare l'acquisizione dei dati di modifica (CDC), imposta questo parametro su true tranne quando utilizzi Amazon DocumentDB come destinazione.

Nota

Se aggiungi una nuova raccolta al database di origine, AWS DMS crea una nuova tabella di destinazione per la raccolta e replica tutti i documenti.

Modalità tabella

In modalità tabella AWS DMS trasforma ogni campo di primo livello di un documento Amazon DocumentDB in una colonna nella tabella di destinazione. Se un campo è nidificato, AWS DMS appiattisce i valori nidificati in un'unica colonna. AWS DMS quindi aggiunge un campo chiave e i tipi di dati al set di colonne della tabella di destinazione.

Per ogni documento Amazon DocumentDB, AWS DMS aggiunge ogni chiave e tipo al set di colonne della tabella di destinazione. Ad esempio, utilizzando la modalità tabella, AWS DMS migra l'esempio precedente nella tabella seguente.

oid_id a b c
5a94815f40bd44d1b02bdfe0 1 2 3
5a94815f40bd44d1b02bdfe1 4 5 6

I valori nidificati sono appiattiti in una colonna contenente nomi di chiavi separati da punti. La colonna viene denominata usando la concatenazione dei nomi di campo appiattiti separati da punti. Ad esempio, AWS DMS migra un documento JSON con un campo di valori annidati, ad esempio in una colonna {"a" : {"b" : {"c": 1}}} denominata a.b.c.

Per creare le colonne di destinazione, AWS DMS analizza un numero specificato di documenti Amazon DocumentDB e crea un set di tutti i campi e i relativi tipi. AWS DMS utilizza quindi questo set per creare le colonne della tabella di destinazione. Se crei o modifichi l'endpoint di origine di Amazon DocumentDB utilizzando la console, è possibile specificare il numero di documenti per la scansione. Il valore predefinito è 1.000 documenti. Se si utilizza il AWS CLI, è possibile utilizzare l'attributo di connessione extradocsToInvestigate.

In modalità tabella, AWS DMS gestisce documenti e raccolte in questo modo:

  • Quando aggiungi un documento in una raccolta esistente, il documento viene replicato. Se ci sono campi che non esistono nella destinazione, tali campi non vengono replicati.

  • Quando aggiorni un documento, il documento aggiornato viene replicato. Se ci sono campi che non esistono nella destinazione, tali campi non vengono replicati.

  • L'eliminazione di un documento è supportata integralmente.

  • L'aggiunta di una nuova raccolta non ha come risultato una nuova tabella nella destinazione durante un'attività CDC.

  • Nella fase Change Data Capture (CDC), AWS DMS non supporta la ridenominazione di una raccolta.

Impostazione delle autorizzazioni per utilizzare Amazon DocumentDB come origine

Quando si utilizza il codice sorgente Amazon DocumentDB per una AWS DMS migrazione, è possibile creare un account utente con privilegi di root. In alternativa puoi creare un utente con le autorizzazioni solo per il database da migrare.

Il codice seguente crea un utente come account root.

use admin db.createUser( { user: "root", pwd: "password", roles: [ { role: "root", db: "admin" } ] })

Per Amazon DocumentDB 3.6, il codice seguente crea un utente con privilegi minimi sul database da migrare.

use database_to_migrate db.createUser( { user: "dms-user", pwd: "password", roles: [ { role: "read", db: "db_name" }, "read"] })

Per Amazon DocumentDB 4.0 e versioni successive, AWS DMS utilizza un flusso di modifiche a livello di distribuzione. In questo caso, il codice seguente crea un utente con privilegi minimi.

db.createUser( { user: "dms-user", pwd: "password", roles: [ { role: "readAnyDatabase", db: "admin" }] })

Configurazione della CDC per un cluster Amazon DocumentDB

Per utilizzare la replica continua o CDC con Amazon DocumentDB AWS DMS , è necessario l'accesso ai flussi di modifica del cluster Amazon DocumentDB. Per una descrizione della sequenza temporale degli eventi di aggiornamento nelle raccolte e nei database del cluster, consulta Using change streams nella Guida per gli sviluppatori di Amazon DocumentDB.

Effettua l'autenticazione al cluster Amazon DocumentDB utilizzando la shell (interprete di comandi) MongoDB. Quindi, esegui il comando seguente per abilitare i flussi di modifica.

db.adminCommand({modifyChangeStreams: 1, database: "DB_NAME", collection: "", enable: true});

Questo approccio consente l'uso del flusso di modifica per tutte le raccolte del database. Dopo aver abilitato i flussi di modifica, puoi creare un'attività di migrazione che migra i dati esistenti e allo stesso tempo replica le modifiche in corso. AWS DMS continua ad acquisire e applicare le modifiche anche dopo il caricamento di grandi quantità di dati. I database di origine e di destinazione vengono sincronizzati con tempi di inattività per la migrazione quasi nulli.

Nota

AWS DMS utilizza il registro delle operazioni (oplog) per acquisire le modifiche durante la replica in corso. Se Amazon DocumentDB elimina i record dall'oplog prima di AWS DMS leggerli, le attività avranno esito negativo. Ti consigliamo di dimensionare l'oplog in modo da mantenere le modifiche per almeno 24 ore.

Connessione ad Amazon DocumentDB tramite TLS

Per impostazione predefinita, un nuovo cluster Amazon DocumentDB creato accetta solo connessioni protette con Transport Layer Security (TLS). Quando TLS è abilitato, ogni connessione ad Amazon DocumentDB richiede una chiave pubblica.

Puoi recuperare la chiave pubblica per Amazon DocumentDB scaricando il rds-combined-ca-bundle.pem file da AWS un bucket Amazon S3 ospitato. Per ulteriori informazioni sul download di questo file, consulta Encrypting connections using TLS nella Guida per gli sviluppatori di Amazon DocumentDB.

Dopo aver scaricato il rds-combined-ca-bundle.pem file, puoi importare la chiave pubblica in cui è contenuto. AWS DMS Di seguito viene descritto come fare.

Per importare la chiave pubblica utilizzando la AWS DMS console
  1. Accedi a AWS Management Console e scegli AWS DMS.

  2. Nel riquadro di navigazione, scegliere Certificates (Certificati).

  3. Selezionare Import certificate (Importa certificato). Viene visualizzata la pagina Importa nuovo certificato CA.

  4. Nella sezione Configurazione del certificato effettua una delle seguenti operazioni:

    • Per Identificatore del certificato immetti un nome univoco per il certificato, ad esempio docdb-cert.

    • Seleziona Scegli file, vai alla posizione in cui hai salvato il file rds-combined-ca-bundle.pem e selezionalo.

  5. Scegliere Add new CA certificate (Aggiungi nuovo certificato emesso da una CA).

L'esempio AWS CLI seguente utilizza il AWS DMS import-certificate comando per importare il rds-combined-ca-bundle.pem file della chiave pubblica.

aws dms import-certificate \ --certificate-identifier docdb-cert \ --certificate-pem file://./rds-combined-ca-bundle.pem

Creazione di un endpoint di origine Amazon DocumentDB

Puoi creare un endpoint di origine Amazon DocumentDB utilizzando la console o la AWS CLI. Usa la seguente procedura con la console.

Per configurare un endpoint di origine Amazon DocumentDB utilizzando la console AWS DMS
  1. Accedi a AWS Management Console e scegli. AWS DMS

  2. Nel riquadro di navigazione seleziona Endpoint e quindi scegli Crea endpoint.

  3. Per Identificativo endpoint fornisci un nome che ti aiuti a identificarlo facilmente, ad esempio docdb-source.

  4. Per Motore di origine scegli Amazon DocumentDB (compatibile con MongoDB).

  5. Per Nome del server inserisci il nome del server in cui risiede l'endpoint del database Amazon DocumentDB. Ad esempio, puoi inserire il nome DNS pubblico della tua istanza Amazon EC2 democluster.cluster-cjf6q8nxfefi.us-east-2.docdb.amazonaws.com.

  6. Per Porta immetti 27017.

  7. Per SSL mode (modalità SSL), scegliere verify-full. Se la modalità SSL è disabilitata sul cluster Amazon DocumentDB, puoi ignorare questo passaggio.

  8. Per Certificato CA scegli il certificato Amazon DocumentDB rds-combined-ca-bundle.pem. Per le istruzioni sull'aggiunta di questo certificato, consulta Connessione ad Amazon DocumentDB tramite TLS.

  9. In Nome del database immetti il nome del database da migrare.

Utilizza la seguente procedura con la CLI.

Per configurare un endpoint di origine Amazon DocumentDB utilizzando AWS CLI
  • Esegui il AWS DMS create-endpoint comando seguente per configurare un endpoint sorgente Amazon DocumentDB, sostituendo i segnaposto con i tuoi valori.

    aws dms create-endpoint \ --endpoint-identifier a_memorable_name \ --endpoint-type source \ --engine-name docdb \ --username value \ --password value \ --server-name servername_where_database_endpoint_resides \ --port 27017 \ --database-name name_of_endpoint_database

Segmentazione delle raccolte Amazon DocumentDB e migrazione in parallelo

Per migliorare le prestazioni di un'attività di migrazione, gli endpoint di origine Amazon DocumentDB supportano due opzioni della funzionalità di caricamento parallelo completo nella mappatura delle tabelle. In altre parole, è possibile migrare una raccolta in parallelo utilizzando le opzioni di segmentazione automatica o segmentazione degli intervalli della mappatura delle tabelle per il caricamento parallelo completo nelle impostazioni JSON. Le opzioni di segmentazione automatica consentono di specificare i criteri per AWS DMS segmentare automaticamente la fonte per la migrazione in ogni thread. Le opzioni di segmentazione degli intervalli consentono di indicare AWS DMS l'intervallo specifico di ciascun segmento da migrare da DMS in ogni thread. Per ulteriori informazioni su queste impostazioni, consulta Regole e operazioni delle impostazioni di tabella e raccolta.

Migrazione di un database Amazon DocumentDB in parallelo utilizzando intervalli di segmentazione automatica

Puoi migrare i tuoi documenti in parallelo specificando i criteri per partizionare ( AWS DMS segmentare) automaticamente i dati per ogni thread, in particolare il numero di documenti da migrare per thread. Utilizzando questo approccio, AWS DMS tenta di ottimizzare i limiti dei segmenti per ottenere le massime prestazioni per ogni thread.

È possibile specificare i criteri di segmentazione utilizzando le opzioni delle impostazioni della tabella riportate di seguito nella mappatura delle tabelle:

Opzione delle impostazioni della tabella

Descrizione

"type"

(Obbligatoria) Impostato su "partitions-auto" per Amazon DocumentDB come origine.

"number-of-partitions"

(Facoltativa) Numero totale di partizioni (segmenti) utilizzate per la migrazione. Il valore predefinito è 16.

"collection-count-from-metadata"

(Facoltativo) Se impostato sutrue, AWS DMS utilizza un numero di raccolte stimato per determinare il numero di partizioni. Se impostato sufalse, AWS DMS utilizza il conteggio effettivo delle raccolte. Il valore predefinito è true.

"max-records-skip-per-page"

(Facoltativo) Il numero di record da saltare contemporaneamente quando si determinano i limiti di ogni partizione. AWS DMS utilizza un approccio di salto impaginato per determinare il limite minimo per una partizione. Il valore predefinito è 10000. L'impostazione di un valore relativamente elevato può causare timeout del cursore e errori delle attività. L'impostazione di un valore relativamente basso comporta un numero maggiore di operazioni per pagina e un pieno carico più lento.

"batch-size"

(Facoltativa) Limita il numero di documenti restituiti in un batch. Ogni batch richiede un round trip al server. Se la dimensione del batch è zero (0), il cursore utilizza la dimensione massima del batch definita dal server. Il valore predefinito è 0.

L'esempio seguente mostra una mappatura delle tabelle per la segmentazione automatica.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "admin", "table-name": "departments" }, "rule-action": "include", "filters": [] }, { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "admin", "table-name": "departments" }, "parallel-load": { "type": "partitions-auto", "number-of-partitions": 5, "collection-count-from-metadata": "true", "max-records-skip-per-page": 1000000, "batch-size": 50000 } } ] }

La segmentazione automatica presenta le seguenti limitazioni. La migrazione di ogni segmento recupera separatamente il conteggio di raccolte e il valore _id minimo della raccolta. Quindi utilizza l'approccio per ignorare con impaginazione per calcolare il limite minimo del segmento. Pertanto, assicurati che il valore _id minimo di ogni raccolta rimanga costante fino al calcolo di tutti i limiti del segmento della raccolta. La modifica del valore _id minimo di una raccolta durante il calcolo dei limiti del segmento può causare la perdita di dati o errori di riga duplicata.

Migrazione di un database Amazon DocumentDB in parallelo utilizzando intervalli di segmenti specifici

L'esempio seguente mostra una raccolta Amazon DocumentDB con sette elementi e _id come chiave primaria.

Raccolta Amazon DocumentDB con sette elementi.

Per dividere la raccolta in tre segmenti ed eseguire la migrazione in parallelo, puoi aggiungere all'attività di migrazione le regole di mappatura delle tabelle, come mostrato nel seguente esempio JSON.

{ // Task table mappings: "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "testdatabase", "table-name": "testtable" }, "rule-action": "include" }, // "selection" :"rule-type" { "rule-type": "table-settings", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "testdatabase", "table-name": "testtable" }, "parallel-load": { "type": "ranges", "columns": [ "_id", "num" ], "boundaries": [ // First segment selects documents with _id less-than-or-equal-to 5f805c97873173399a278d79 // and num less-than-or-equal-to 2. [ "5f805c97873173399a278d79", "2" ], // Second segment selects documents with _id > 5f805c97873173399a278d79 and // _id less-than-or-equal-to 5f805cc5873173399a278d7c and // num > 2 and num less-than-or-equal-to 5. [ "5f805cc5873173399a278d7c", "5" ] // Third segment is implied and selects documents with _id > 5f805cc5873173399a278d7c. ] // :"boundaries" } // :"parallel-load" } // "table-settings" :"rule-type" ] // :"rules" } // :Task table mappings

Questa definizione di mappatura delle tabelle divide la raccolta di origine in tre segmenti ed esegue la migrazione in parallelo. Di seguito sono riportati i limiti della segmentazione.

Data with _id less-than-or-equal-to "5f805c97873173399a278d79" and num less-than-or-equal-to 2 (2 records) Data with _id less-than-or-equal-to "5f805cc5873173399a278d7c" and num less-than-or-equal-to 5 and not in (_id less-than-or-equal-to "5f805c97873173399a278d79" and num less-than-or-equal-to 2) (3 records) Data not in (_id less-than-or-equal-to "5f805cc5873173399a278d7c" and num less-than-or-equal-to 5) (2 records)

Una volta completata l'attività di migrazione, è possibile verificare nei log delle attività che le tabelle siano state caricate in parallelo, come illustrato nell'esempio seguente. È anche possibile verificare la clausola find Amazon DocumentDB utilizzata per scaricare ogni segmento dalla tabella di origine.

[TASK_MANAGER ] I: Start loading segment #1 of 3 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. Start load timestamp 0005B191D638FE86 (replicationtask_util.c:752) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is initialized. (mongodb_unload.c:157) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is: { "_id" : { "$lte" : { "$oid" : "5f805c97873173399a278d79" } }, "num" : { "$lte" : { "$numberInt" : "2" } } } (mongodb_unload.c:328) [SOURCE_UNLOAD ] I: Unload finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 2 rows sent. [TASK_MANAGER ] I: Start loading segment #1 of 3 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. Start load timestamp 0005B191D638FE86 (replicationtask_util.c:752) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is initialized. (mongodb_unload.c:157) [SOURCE_UNLOAD ] I: Range Segmentation filter for Segment #0 is: { "_id" : { "$lte" : { "$oid" : "5f805c97873173399a278d79" } }, "num" : { "$lte" : { "$numberInt" : "2" } } } (mongodb_unload.c:328) [SOURCE_UNLOAD ] I: Unload finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 2 rows sent. [TARGET_LOAD ] I: Load finished for segment #1 of segmented table 'testdatabase'.'testtable' (Id = 1). 1 rows received. 0 rows skipped. Volume transfered 480. [TASK_MANAGER ] I: Load finished for segment #1 of table 'testdatabase'.'testtable' (Id = 1) by subtask 1. 2 records transferred.

Attualmente, AWS DMS supporta i seguenti tipi di dati Amazon DocumentDB come colonna chiave del segmento:

  • Doppio

  • Stringa

  • ObjectId

  • Intero a 32 bit

  • Intero a 64 bit

Migrazione di più database quando si utilizza Amazon DocumentDB come origine per AWS DMS

AWS DMS le versioni 3.4.5 e successive supportano la migrazione di più database in un'unica attività solo per Amazon DocumentDB versioni 4.0 e successive. Se desideri migrare più database, procedi come indicato di seguito:

  1. Quando crei l'endpoint di origine di Amazon DocumentDB:

    • Nel modulo AWS DMS, lascia vuoto AWS Management Console il nome del database nella sezione Configurazione dell'endpoint nella pagina Crea endpoint.

    • Nella AWS Command Line Interface (AWS CLI), assegnate un valore di stringa vuoto al DatabaseNameparametro in DocumentDBSettings specificato per l'azione. CreateEndpoint

  2. Per ogni database che desideri migrare da questo endpoint di origine Amazon DocumentDB, specifica il nome di ciascun database come nome di schema della mappatura delle tabelle per l'attività utilizzando l'input guidato della console o direttamente in JSON. Per ulteriori informazioni sull'input guidato, consulta la descrizione in Specifica della selezione delle tabelle e delle regole di trasformazione dalla console. Per ulteriori informazioni sul JSON, consulta Operazioni e regole di selezione.

Ad esempio, puoi specificare il codice JSON seguente per migrare tre database Amazon DocumentDB.

Esempio Migrazione di tutte le tabelle in uno schema

Il codice JSON seguente esegue la migrazione di tutte le tabelle dai database Customers, Orders e Suppliers dell'endpoint di origine all'endpoint di destinazione.

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Customers", "table-name": "%" }, "object-locator": { "schema-name": "Orders", "table-name": "%" }, "object-locator": { "schema-name": "Inventory", "table-name": "%" }, "rule-action": "include" } ] }

Limitazioni nell'utilizzo di Amazon DocumentDB come fonte per AWS DMS

Di seguito sono riportate le limitazioni relative all'utilizzo di Amazon DocumentDB come fonte per: AWS DMS

  • Quando l'opzione _id è impostata come una colonna separata, la stringa ID non deve superare i 200 caratteri.

  • L'ID oggetto e le chiavi del tipo di matrice vengono convertiti in colonne con prefisso oid e array in modalità tabella.

    Internamente, viene fatto riferimento a queste colonne con i nomi con prefisso. Se utilizzi regole di trasformazione AWS DMS che fanno riferimento a queste colonne, assicurati di specificare la colonna con prefisso. Ad esempio, devi specificare ${oid__id} e non ${_id} oppure ${array__addresses} e non ${_addresses}.

  • I nomi delle raccolte e delle chiavi non possono includere il simbolo del dollaro ($).

  • La modalità tabella e la modalità documento presentano le limitazioni illustrate in precedenza.

  • La migrazione in parallelo utilizzando la segmentazione automatica comporta le limitazioni descritte in precedenza.

  • Un'origine Amazon DocumentDB (compatibile con MongoDB) non supporta l'utilizzo di un timestamp specifico come posizione iniziale per l'acquisizione dei dati di modifica (CDC). Un'attività di replica continua acquisisce le modifiche indipendentemente dal timestamp.

  • Quando si utilizza DocumentDB (compatibile con MongoDB) come origine, DMS può gestire un massimo di 250 record al secondo.

  • AWS DMS non supporta documenti in cui il livello di nidificazione è maggiore di 97.

  • I filtri di origine non sono supportati per DocumentDB.

  • AWS DMS non supporta la replica CDC (change data capture) per DocumentDB come origine in modalità cluster elastico.

Utilizzo delle impostazioni degli endpoint con Amazon DocumentDB come origine

È possibile utilizzare le impostazioni degli endpoint per configurare il database di origine Amazon DocumentDB in modo simile a come si usano gli attributi aggiuntivi di connessione. Le impostazioni vengono specificate quando si crea l'endpoint di origine utilizzando la AWS DMS console o utilizzando il create-endpoint comando in AWS CLI, con la sintassi JSON. --doc-db-settings '{"EndpointSetting": "value", ...}'

La tabella seguente mostra le impostazioni degli endpoint che puoi utilizzare con Amazon DocumentDB come origine.

Nome attributo Valori validi Valore predefinito e descrizione

NestingLevel

"none"

"one"

"none": specifica "none" per utilizzare la modalità documento. Specificare "one" per utilizzare la modalità tabella.

ExtractDocID

booleano

true

false

false: utilizza questo attributo quando NestingLevel è impostato su "none".

Se il database di destinazione è Amazon DocumentDB, imposta '{"ExtractDocID": true}'.

DocsToInvestigate

Un numero intero positivo maggiore di 0.

1000: utilizza questo attributo quando NestingLevel è impostato su "one".

ReplicateShardCollections

booleano

true

false

Se impostato su true, AWS DMS replica i dati in raccolte di frammenti. AWS DMS utilizza questa impostazione solo se l'endpoint di destinazione è un cluster elastico DocumentDB.

Quando questa impostazione è true, è importante tenere presenti le seguenti informazioni:

  • È necessario impostare TargetTablePrepMode su nothing.

  • AWS DMS imposta useUpdateLookup automaticamente su. false

Tipi di dati di origine per Amazon DocumentDB

Nella tabella seguente sono elencati i tipi di dati di origine di Amazon DocumentDB supportati per l'uso in AWS DMS. In questa tabella puoi anche trovare la mappatura predefinita AWS DMS dei tipi di dati. Per ulteriori informazioni sui tipi di dati, consulta BSON types nella documentazione di MongoDB.

Per informazioni su come visualizzare il tipo di dati mappato nella destinazione, consulta la sezione relativa all'endpoint di destinazione che stai utilizzando.

Per ulteriori informazioni sui tipi di AWS DMS dati, vedereTipi di dati per AWS Database Migration Service.

Tipi di dati Amazon DocumentDB

AWS DMS tipi di dati

Booleano

Bool

Binario

BLOB

Data

Data

Timestamp

Data

Int

INT4

Long

INT8

Doppio

REAL8

String (UTF-8)

CLOB

Array

CLOB

OID

Stringa