Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de una base de datos de Amazon DynamoDB como destino para AWS Database Migration Service
Puede utilizarlos AWS DMS para migrar datos a una tabla de Amazon DynamoDB. Amazon DynamoDB es un servicio SQL sin base de datos totalmente gestionado que proporciona un rendimiento rápido y predecible con una escalabilidad perfecta. AWS DMS admite el uso de una base de datos relacional o MongoDB como fuente.
En DynamoDB se trabaja principalmente con tablas, elementos y atributos. Una tabla es una recopilación de elementos y cada elemento es una recopilación de atributos. DynamoDB utiliza claves primarias, denominadas claves de partición, para identificar cada elemento de una tabla de forma unívoca. También puede utilizar claves e índices secundarios para proporcionar más flexibilidad a la hora de realizar consultas.
Puede utilizar el mapeo de objetos para migrar sus datos desde una base de datos de origen a una tabla de DynamoDB de destino. El mapeo de objetos le permite determinar dónde se encuentran los datos de origen en el destino.
Cuando AWS DMS crea tablas en un punto final de destino de DynamoDB, crea tantas tablas como en el punto final de la base de datos de origen. AWS DMS también establece varios valores de parámetros de DynamoDB. El costo de la creación de la tabla depende de la cantidad de datos y del número de tablas que hay que migrar.
nota
La opción SSLModo de la AWS DMS consola o API no se aplica a algunas transmisiones de datos y no a SQL servicios como Kinesis y DynamoDB. Son seguros de forma predeterminada, por lo que AWS DMS indica que el ajuste del SSL modo es nulo (Mode=Ninguno)SSL. No necesita proporcionar ninguna configuración adicional para que pueda utilizarla su terminal. SSL Por ejemplo, cuando se utiliza DynamoDB como punto de conexión de destino, es seguro de forma predeterminada. Todas las API llamadas a DynamoDB SSL utilizan DynamoDB, por lo que no es necesaria una opción SSL adicional en el punto final. AWS DMS Puede colocar datos y recuperarlos de forma segura a través de SSL puntos finales mediante el HTTPS protocolo, que se AWS DMS utiliza de forma predeterminada al conectarse a una base de datos de DynamoDB.
Para ayudar a aumentar la velocidad de la transferencia, AWS DMS admite una carga completa de subprocesos múltiples a una instancia de destino de DynamoDB. DMSadmite este subprocesamiento múltiple con una configuración de tareas que incluye lo siguiente:
-
MaxFullLoadSubTasks
— Utilice esta opción para indicar el número máximo de tablas de origen que se van a cargar en paralelo. DMScarga cada tabla en su tabla de destino de DynamoDB correspondiente mediante una subtarea dedicada. El valor predeterminado es 8. El valor máximo es 49. -
ParallelLoadThreads
— Utilice esta opción para especificar el número de subprocesos que se AWS DMS utilizan para cargar cada tabla en su tabla de destino de DynamoDB. El valor predeterminado es 0 (subproceso único). El valor máximo es 200. Puede pedir que se incremente este límite máximo.nota
DMSasigna cada segmento de una tabla a su propio hilo para cargarlo. Por lo tanto, establezca
ParallelLoadThreads
en el número máximo de segmentos que especifique para una tabla en el origen. -
ParallelLoadBufferSize
: utilice esta opción para especificar el número máximo de registros para almacenar en el búfer que los subprocesos de carga en paralelo utilizan para cargar datos en el destino de DynamoDB. El valor predeterminado es 50. El valor máximo es 1000. Utilice este parámetro conParallelLoadThreads
.ParallelLoadBufferSize
es válido solo cuando hay más de un subproceso. -
Ajustes de la asignación de tablas para tablas individuales: utilice las reglas de
table-settings
para identificar las tablas individuales del origen que desea cargar en paralelo. Use también estas reglas para especificar cómo segmentar la filas de cada tabla para cargas de multiprocesos. Para obtener más información, consulte Reglas y operaciones de configuración de tablas y recopilaciones.
nota
Cuando se AWS DMS establecen los valores de los parámetros de DynamoDB para una tarea de migración, el valor predeterminado del parámetro Read Capacity Units RCU () se establece en 200.
El valor del parámetro Unidades de capacidad de escritura (WCU) también está establecido, pero su valor depende de otros parámetros:
-
El valor por defecto del WCU parámetro es 200.
-
Si la configuración de la
ParallelLoadThreads
tarea es superior a 1 (el valor predeterminado es 0), el WCU parámetro se establece en 200 veces elParallelLoadThreads
valor. Se aplican tarifas de AWS DMS uso estándar a los recursos que utilice.
Migración desde una base de datos relacional a una tabla de DynamoDB
AWS DMS admite la migración de datos a tipos de datos escalares de DynamoDB. Al migrar de una base de datos relacional como Oracle o My a SQL DynamoDB, es posible que desee reestructurar la forma en que almacena estos datos.
Actualmente, AWS DMS admite la reestructuración de tabla única a tabla única a atributos de tipo escalar de DynamoDB. Si migra datos a DynamoDB desde una tabla de base de datos relacional, toma los datos de una tabla y cambia su formato por atributos de tipo de datos escalares de DynamoDB. Estos atributos pueden aceptar datos de varias columnas y puede mapear una columna en un atributo directamente.
AWS DMS admite los siguientes tipos de datos escalares de DynamoDB:
-
Cadena
-
Número
-
Booleano
nota
NULLlos datos del origen se ignoran en el destino.
Requisitos previos para usar DynamoDB como objetivo para AWS Database Migration Service
Antes de empezar a trabajar con una base de datos de DynamoDB como destino, asegúrese AWS DMS de crear un rol. IAM Esta IAM función debería permitir asumir y conceder acceso AWS DMS a las tablas de DynamoDB a las que se están migrando. El conjunto mínimo de permisos de acceso se muestra en la siguiente IAM política.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
El rol que utilice para la migración a DynamoDB debe tener los siguientes permisos.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:CreateTable", "dynamodb:DescribeTable", "dynamodb:DeleteTable", "dynamodb:DeleteItem", "dynamodb:UpdateItem" ], "Resource": [ "arn:aws:dynamodb:us-west-2:account-id:table/name1", "arn:aws:dynamodb:us-west-2:account-id:table/OtherName*", "arn:aws:dynamodb:us-west-2:account-id:table/awsdms_apply_exceptions", "arn:aws:dynamodb:us-west-2:account-id:table/awsdms_full_load_exceptions" ] }, { "Effect": "Allow", "Action": [ "dynamodb:ListTables" ], "Resource": "*" } ] }
Limitaciones al usar DynamoDB como objetivo para AWS Database Migration Service
Al utilizar DynamoDB como destino se aplican las siguientes restricciones:
-
DynamoDB limita la precisión del tipo de datos Number a 38 espacios. Almacene todos los tipos de datos con una mayor precisión como cadena. Deberá indicarlo explícitamente empleando la característica de mapeo de objetos.
-
Debido a que DynamoDB no tiene un tipo de datos Date, los datos que utilizan el tipo de datos Date se convierten en cadenas.
-
DynamoDB no permite actualizaciones de los atributos de clave principal. Esta restricción es importante cuando se utiliza la replicación continua con captura de datos de cambios (CDC), ya que puede provocar que lleguen datos no deseados al destino. Según la forma en que se realice el mapeo de objetos, una CDC operación que actualice la clave principal puede hacer una de estas dos cosas. Puede producir un error o insertar un nuevo elemento con la clave principal actualizada y datos incompletos.
-
AWS DMS solo admite la replicación de tablas con claves principales no compuestas. La excepción es si especifica un mapeo de objetos para la tabla de destino con una clave de partición personalizada, una clave de ordenación o ambas.
-
AWS DMS no admite LOB datos a menos que sea unCLOB. AWS DMS convierte CLOB los datos en una cadena de DynamoDB al migrarlos.
-
Cuando se utiliza DynamoDB como destino, solo se admite la tabla de control Apply Exceptions (Aplicar excepciones) (
dmslogs.awsdms_apply_exceptions
). Para obtener más información sobre las tablas de control, consulte Configuración de las tareas de la tabla de control. AWS DMS no admite la configuración de tareas
TargetTablePrepMode=TRUNCATE_BEFORE_LOAD
para DynamoDB como objetivo.AWS DMS no admite la configuración de tareas
TaskRecoveryTableEnabled
para DynamoDB como objetivo.BatchApply
no es compatible con un punto final de DynamoDB.
Uso de la asignación de objetos para migrar datos a DynamoDB
AWS DMS usa reglas de mapeo de tablas para mapear datos de la tabla de DynamoDB de origen a la de destino. Para asignar datos a un destino de DynamoDB, se utiliza un tipo de regla de mapeo de tabla denominado object-mapping. El mapeo de objetos le permite definir los nombres de atributo y los datos que se les puede migrar. Debe tener reglas de selección cuando utilice el mapeo de objetos.
DynamoDB no tiene una estructura predeterminada, simplemente dispone de una clave de partición y una clave de clasificación opcional. Si tiene una clave principal no compuesta, úsela. AWS DMS Si tiene una clave principal compuesta o desea utilizar una clave de ordenación, defina estas claves y el resto de los atributos de su tabla de DynamoDB de destino.
Para crear una regla de mapeo de objetos, debe especificar rule-type
como object-mapping. Esta regla indica el tipo de mapeo de objetos que desea utilizar.
La estructura de la regla es la siguiente:
{ "rules": [ { "rule-type": "object-mapping", "rule-id": "<id>", "rule-name": "<name>", "rule-action": "<valid object-mapping rule action>", "object-locator": { "schema-name": "<case-sensitive schema name>", "table-name": "" }, "target-table-name": "<table_name>" } ] }
AWS DMS actualmente admite map-record-to-record
y es map-record-to-document
el único valor válido para el rule-action
parámetro. Estos valores especifican lo que AWS DMS ocurre de forma predeterminada con los registros que no están excluidos como parte de la lista de exclude-columns
atributos. Estos valores no afectan a los mapeos de atributos en modo alguno.
-
Puede utilizar
map-record-to-record
al migrar desde una base de datos relacional a DynamoDB. Utiliza la clave principal de la base de datos relacional como la clave de partición en DynamoDB y crea un atributo para cada columna de la base de datos de origen. Cuando se utilizamap-record-to-record
, para cualquier columna de la tabla de origen que no figure en la lista deexclude-columns
atributos, AWS DMS crea el atributo correspondiente en la instancia de DynamoDB de destino. Lo hace independientemente de si dicha columna de origen se utiliza en un mapeo de atributos. -
Utilice
map-record-to-document
para colocar columnas de origen en una asignación de DynamoDB único y plano en el destino utilizando el nombre de atributo “_doc”. Cuando se usamap-record-to-document
, AWS DMS coloca los datos en un único atributo de mapa plano de DynamoDB en la fuente. Este atributo se denomina "_doc". Esta colocación se aplica a cada columna de la tabla de origen que no se enumera en la lista de atributosexclude-columns
.
Una forma de entender la diferencia entre los parámetros de rule-action
map-record-to-record
y map-record-to-document
consiste en ver los dos parámetros en acción. En este ejemplo, imagine que empieza con una fila de una tabla de base de datos relacional con la estructura y los datos siguientes:
Para migrar esta información a DynamoDB, crea reglas para mapear los datos en un elemento de la tabla de DynamoDB. Tenga en cuenta las columnas listadas para el parámetro exclude-columns
. Estas columnas no se mapean directamente en el destino. En su lugar, la asignación de atributos se utiliza para combinar los datos en nuevos elementos, como dónde, FirstNamey LastNamese agrupan para formar parte del CustomerNameobjetivo de DynamoDB. NickNamey no se excluyen los ingresos.
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "TransformToDDB", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "test", "table-name": "customer" }, "target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone", "WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${FirstName},${LastName}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "document", "attribute-sub-type": "dynamodb-map", "value": { "M": { "Home": { "M": { "Address": { "S": "${HomeAddress}" }, "Phone": { "S": "${HomePhone}" } } }, "Work": { "M": { "Address": { "S": "${WorkAddress}" }, "Phone": { "S": "${WorkPhone}" } } } } } } ] } } ] }
Al usar el rule-action
parámetro map-record-to-record, los datos NickNamey los ingresos se asignan a elementos del mismo nombre en el objetivo de DynamoDB.
Sin embargo, supongamos que usa las mismas reglas pero cambia el rule-action
parámetro a map-record-to-document. En este caso, las columnas que no figuran en el exclude-columns
parámetro NickNamey los ingresos se asignan a un elemento _doc.
Uso de expresiones de condición personalizadas con mapeo de objetos
Puede utilizar una característica de DynamoDB denominada “expresiones de condición” para manipular los datos que se escriben en una tabla de DynamoDB. Para obtener más información sobre las expresiones de condición en DynamoDB, consulte Expresiones de condición.
Un miembro de una expresión de condición consta de:
-
una expresión (obligatorio)
-
los valores de los atributos de expresión (opcional). Especifica una estructura json de DynamoDB del valor del atributo
-
los nombres de los atributos de expresión (opcional)
-
las opciones sobre cuándo utilizar la expresión de condición (opcional). El valor predeterminado es apply-during-cdc = false y apply-during-full-load = true
La estructura de la regla es la siguiente:
"target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "condition-expression": { "expression":"<conditional expression>", "expression-attribute-values": [ { "name":"<attribute name>", "value":<attribute value> } ], "apply-during-cdc":<optional Boolean value>, "apply-during-full-load": <optional Boolean value> }
En el siguiente ejemplo se destacan las secciones que se utilizan para la expresión de condición.
Uso del mapeo de atributos con el mapeo de objetos
El mapeo de atributos le permite especificar una cadena de ejemplo utilizando nombres de columna del origen para reestructurar los datos en el destino. El formato se modifica en función de lo que especifique el usuario en la plantilla.
El siguiente ejemplo muestra la estructura de la base de datos de origen y la estructura deseada de destino en DynamoDB. En primer lugar se muestra la estructura de origen, en este caso, una base de datos de Oracle y, a continuación, la estructura deseada de los datos en DynamoDB. El ejemplo concluye con lo que JSON se utiliza para crear la estructura objetivo deseada.
La estructura de los datos de Oracle es la siguiente:
FirstName | LastName | StoreId | HomeAddress | HomePhone | WorkAddress | WorkPhone | DateOfBirth |
---|---|---|---|---|---|---|---|
Clave principal | N/A | ||||||
Randy | Marsh | 5 | 221B Baker Street | 1234567890 | 31 Spooner Street, Quahog | 9876543210 | 02/29/1988 |
La estructura de los datos de DynamoDB es la siguiente:
CustomerName | StoreId | ContactDetails | DateOfBirth |
---|---|---|---|
Clave de partición | Clave de ordenación | N/A | |
|
|
|
|
A continuación, se JSON muestra el mapeo de objetos y el mapeo de columnas que se utilizan para lograr la estructura de DynamoDB:
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "TransformToDDB", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "test", "table-name": "customer" }, "target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "sort-key-name": "StoreId", "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone", "WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${FirstName},${LastName}" }, { "target-attribute-name": "StoreId", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${StoreId}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "{\"Name\":\"${FirstName}\",\"Home\":{\"Address\":\"${HomeAddress}\",\"Phone\":\"${HomePhone}\"}, \"Work\":{\"Address\":\"${WorkAddress}\",\"Phone\":\"${WorkPhone}\"}}" } ] } } ] }
Otro modo de utilizar el mapeo de columnas es utilizar el formato DynamoDB como su tipo de documento. El siguiente ejemplo de código utiliza dynamodb-map como el attribute-sub-type
para el mapeo de atributos.
{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "TransformToDDB", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "test", "table-name": "customer" }, "target-table-name": "customer_t", "mapping-parameters": { "partition-key-name": "CustomerName", "sort-key-name": "StoreId", "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone", "WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${FirstName},${LastName}" }, { "target-attribute-name": "StoreId", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${StoreId}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "document", "attribute-sub-type": "dynamodb-map", "value": { "M": { "Name": { "S": "${FirstName}" }, "Home": { "M": { "Address": { "S": "${HomeAddress}" }, "Phone": { "S": "${HomePhone}" } } }, "Work": { "M": { "Address": { "S": "${WorkAddress}" }, "Phone": { "S": "${WorkPhone}" } } } } } } ] } } ] }
Como alternativadynamodb-map
, puede utilizarla dynamodb-list
como mapeo attribute-sub-type de atributos, como se muestra en el siguiente ejemplo.
{ "target-attribute-name": "ContactDetailsList", "attribute-type": "document", "attribute-sub-type": "dynamodb-list", "value": { "L": [ { "N": "${FirstName}" }, { "N": "${HomeAddress}" }, { "N": "${HomePhone}" }, { "N": "${WorkAddress}" }, { "N": "${WorkPhone}" } ] } }
Ejemplo 1: Uso del mapeo de atributos con el mapeo de objetos
En el siguiente ejemplo, se migran los datos de dos tablas de My SQL Database, nfl_data y sport_team, a dos tablas de DynamoDB denominadas y. NFLTeamsSportTeams A continuación se muestra la estructura de las tablas y la JSON utilizada para mapear los datos de las tablas de My SQL database a las tablas de DynamoDB.
A continuación se muestra la estructura de la tabla nfl_data de mi SQL base de datos:
mysql> desc nfl_data; +---------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+-------+ | Position | varchar(5) | YES | | NULL | | | player_number | smallint(6) | YES | | NULL | | | Name | varchar(40) | YES | | NULL | | | status | varchar(10) | YES | | NULL | | | stat1 | varchar(10) | YES | | NULL | | | stat1_val | varchar(10) | YES | | NULL | | | stat2 | varchar(10) | YES | | NULL | | | stat2_val | varchar(10) | YES | | NULL | | | stat3 | varchar(10) | YES | | NULL | | | stat3_val | varchar(10) | YES | | NULL | | | stat4 | varchar(10) | YES | | NULL | | | stat4_val | varchar(10) | YES | | NULL | | | team | varchar(10) | YES | | NULL | | +---------------+-------------+------+-----+---------+-------+
La estructura de la tabla de mi SQL base de datos sport_team se muestra a continuación:
mysql> desc sport_team; +---------------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------------------+--------------+------+-----+---------+----------------+ | id | mediumint(9) | NO | PRI | NULL | auto_increment | | name | varchar(30) | NO | | NULL | | | abbreviated_name | varchar(10) | YES | | NULL | | | home_field_id | smallint(6) | YES | MUL | NULL | | | sport_type_name | varchar(15) | NO | MUL | NULL | | | sport_league_short_name | varchar(10) | NO | | NULL | | | sport_division_short_name | varchar(10) | YES | | NULL | |
A continuación, se muestran las reglas de mapeo de tablas que se utilizan para asignar las dos tablas a las dos tablas de DynamoDB:
{ "rules":[ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "dms_sample", "table-name": "nfl_data" }, "rule-action": "include" }, { "rule-type": "selection", "rule-id": "2", "rule-name": "2", "object-locator": { "schema-name": "dms_sample", "table-name": "sport_team" }, "rule-action": "include" }, { "rule-type":"object-mapping", "rule-id":"3", "rule-name":"MapNFLData", "rule-action":"map-record-to-record", "object-locator":{ "schema-name":"dms_sample", "table-name":"nfl_data" }, "target-table-name":"NFLTeams", "mapping-parameters":{ "partition-key-name":"Team", "sort-key-name":"PlayerName", "exclude-columns": [ "player_number", "team", "name" ], "attribute-mappings":[ { "target-attribute-name":"Team", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"${team}" }, { "target-attribute-name":"PlayerName", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"${name}" }, { "target-attribute-name":"PlayerInfo", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"{\"Number\": \"${player_number}\",\"Position\": \"${Position}\",\"Status\": \"${status}\",\"Stats\": {\"Stat1\": \"${stat1}:${stat1_val}\",\"Stat2\": \"${stat2}:${stat2_val}\",\"Stat3\": \"${stat3}:${ stat3_val}\",\"Stat4\": \"${stat4}:${stat4_val}\"}" } ] } }, { "rule-type":"object-mapping", "rule-id":"4", "rule-name":"MapSportTeam", "rule-action":"map-record-to-record", "object-locator":{ "schema-name":"dms_sample", "table-name":"sport_team" }, "target-table-name":"SportTeams", "mapping-parameters":{ "partition-key-name":"TeamName", "exclude-columns": [ "name", "id" ], "attribute-mappings":[ { "target-attribute-name":"TeamName", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"${name}" }, { "target-attribute-name":"TeamInfo", "attribute-type":"scalar", "attribute-sub-type":"string", "value":"{\"League\": \"${sport_league_short_name}\",\"Division\": \"${sport_division_short_name}\"}" } ] } } ] }
El ejemplo de salida de la tabla de NFLTeamsDynamoDB se muestra a continuación:
"PlayerInfo": "{\"Number\": \"6\",\"Position\": \"P\",\"Status\": \"ACT\",\"Stats\": {\"Stat1\": \"PUNTS:73\",\"Stat2\": \"AVG:46\",\"Stat3\": \"LNG:67\",\"Stat4\": \"IN 20:31\"}", "PlayerName": "Allen, Ryan", "Position": "P", "stat1": "PUNTS", "stat1_val": "73", "stat2": "AVG", "stat2_val": "46", "stat3": "LNG", "stat3_val": "67", "stat4": "IN 20", "stat4_val": "31", "status": "ACT", "Team": "NE" }
El ejemplo de salida de la tabla de SportsTeams DynamoDB se muestra a continuación:
{ "abbreviated_name": "IND", "home_field_id": 53, "sport_division_short_name": "AFC South", "sport_league_short_name": "NFL", "sport_type_name": "football", "TeamInfo": "{\"League\": \"NFL\",\"Division\": \"AFC South\"}", "TeamName": "Indianapolis Colts" }
Tipos de datos de destino para DynamoDB
El punto de conexión de DynamoDB es AWS DMS compatible con la mayoría de los tipos de datos de DynamoDB. La siguiente tabla muestra los tipos de datos de AWS DMS destino de Amazon que se admiten cuando se utilizan AWS DMS y el mapeo predeterminado a partir de AWS DMS los tipos de datos.
Para obtener información adicional sobre AWS DMS los tipos de datos, consulteTipos de datos de AWS Database Migration Service.
Al AWS DMS migrar datos de bases de datos heterogéneas, asignamos los tipos de datos de la base de datos de origen a tipos de datos intermedios denominados tipos de AWS DMS datos. A continuación, se mapean los tipos de datos intermedios en los tipos de datos de destino. La siguiente tabla muestra cada tipo de AWS DMS datos y el tipo de datos al que se asigna en DynamoDB:
AWS DMS tipo de datos | Tipo de dato de DynamoDB |
---|---|
Cadena |
Cadena |
WString |
Cadena |
Booleano |
Booleano |
Fecha |
Cadena |
DateTime |
Cadena |
INT1 |
Número |
INT2 |
Número |
INT4 |
Número |
INT8 |
Número |
Numérico |
Número |
Real4 |
Número |
Real8 |
Número |
UINT1 |
Número |
UINT2 |
Número |
UINT4 |
Número |
UINT8 | Número |
CLOB | Cadena |