Formatos de importación de Amazon S3 para DynamoDB - Amazon DynamoDB

Formatos de importación de Amazon S3 para DynamoDB

DynamoDB puede importar datos en tres formatos: CSV, DynamoDB JSON y Amazon Ion.

CSV

Un archivo en formato CSV consta de varios elementos delimitados por saltos de línea. De forma predeterminada, DynamoDB interpreta la primera línea de un archivo de importación como encabezado y espera que las columnas estén delimitadas por comas. También puede definir los encabezados que se aplicarán, siempre que coincidan con el número de columnas del archivo. Si define los encabezados de forma explícita, la primera línea del archivo se importará como valores.

nota

Al importar desde archivos CSV, todas las columnas, excepto el rango de hash y las claves de la tabla base y los índices secundarios, se importan como cadenas de DynamoDB.

Aplicación de la secuencia de escape a las comillas dobles

A los caracteres entre comillas dobles que haya en el archivo CSV se les debe aplicar la secuencia de escape. Si no tienen aplicada la secuencia de escape, como en el siguiente ejemplo, no se realizará la importación:

id,value "123",Women's Full Lenth Dress

Esta misma importación se realizará correctamente si las comillas tienen aplicada la secuencia de escape con dos conjuntos de comillas dobles:

id,value """123""",Women's Full Lenth Dress

Una vez que se haya aplicado correctamente la secuencia de escape al texto y se haya importado, aparecerá tal y como estaba en el archivo CSV original:

id,value "123",Women's Full Lenth Dress

DynamoDB Json

Un archivo en formato DynamoDB JSON puede constar de varios objetos Item. Cada objeto individual está en formato JSON serializado estándar de DynamoDB y los saltos de línea se utilizan como delimitadores de elementos. Como característica adicional, las exportaciones desde un momento dado se admiten como origen de importación predeterminado.

nota

Las líneas nuevas se utilizan como delimitadores de elementos para un archivo en formato JSON de DynamoDB y no deben utilizarse dentro de un objeto de elemento.

[{ "Item": { "Authors": { "SS": ["Author1", "Author2"] }, "Dimensions": { "S": "8.5 x 11.0 x 1.5" }, "ISBN": { "S": "333-3333333333" }, "Id": { "N": "103" }, "InPublication": { "BOOL": false }, "PageCount": { "N": "600" }, "Price": { "N": "2000" }, "ProductCategory": { "S": "Book" }, "Title": { "S": "Book 103 Title" } } }]
nota

Las líneas nuevas se utilizan como delimitadores de elementos para un archivo en formato JSON de DynamoDB y no deben utilizarse dentro de un objeto de elemento.

[{ "Item": { "Authors": { "SS": ["Author1", "Author2"] }, "Dimensions": { "S": "8.5 x 11.0 x 1.5" }, "ISBN": { "S": "333-3333333333" }, "Id": { "N": "103" }, "InPublication": { "BOOL": false }, "PageCount": { "N": "600" }, "Price": { "N": "2000" }, "ProductCategory": { "S": "Book" }, "Title": { "S": "Book 103 Title" } } },{ "Item": { "Authors": { "SS": ["Author1", "Author2"] }, "Dimensions": { "S": "8.5 x 11.0 x 1.5" }, "ISBN": { "S": "444-444444444" }, "Id": { "N": "104" }, "InPublication": { "BOOL": false }, "PageCount": { "N": "600" }, "Price": { "N": "2000" }, "ProductCategory": { "S": "Book" }, "Title": { "S": "Book 104 Title" } } },{ "Item": { "Authors": { "SS": ["Author1", "Author2"] }, "Dimensions": { "S": "8.5 x 11.0 x 1.5" }, "ISBN": { "S": "555-5555555555" }, "Id": { "N": "105" }, "InPublication": { "BOOL": false }, "PageCount": { "N": "600" }, "Price": { "N": "2000" }, "ProductCategory": { "S": "Book" }, "Title": { "S": "Book 105 Title" } } }]

Amazon Ion

Amazon Ion es un formato de serialización de datos jerárquico, autodescriptivo y altamente digitado, creado para abordar los desafíos rápidos de desarrollo, desacoplamiento y eficiencia que surgen todos los días mientras se diseñan arquitecturas a gran escala orientadas a servicios.

Cuando se importan datos en formato Ion, los tipos de datos de Ion se asignan a los tipos de datos de DynamoDB en la nueva tabla de DynamoDB.

Conversión de tipos de datos de Ion a DynamoDB B

1

Ion Data Type

DynamoDB Representation

2

string

String (s)

3

bool

Boolean (BOOL)

4

decimal

Number (N)

5

blob

Binary (B)

6

list (with type annotation $dynamodb_SS, $dynamodb_NS, or $dynamodb_BS)

Set (SS, NS, BS)

7

list

List

8

struct

Map

Los elementos de un archivo de Ion están delimitados por saltos de línea. Cada línea comienza con un marcador de versión Ion, seguido de un elemento en formato Ion.

nota

En el siguiente ejemplo, hemos dado formato a los elementos de un archivo con formato Ion en varias líneas para mejorar la legibilidad.

$ion_1_0 [ { Item:{ Authors:$dynamodb_SS::["Author1","Author2"], Dimensions:"8.5 x 11.0 x 1.5", ISBN:"333-3333333333", Id:103., InPublication:false, PageCount:6d2, Price:2d3, ProductCategory:"Book", Title:"Book 103 Title" } }, { Item:{ Authors:$dynamodb_SS::["Author1","Author2"], Dimensions:"8.5 x 11.0 x 1.5", ISBN:"444-4444444444", Id:104., InPublication:false, PageCount:6d2, Price:2d3, ProductCategory:"Book", Title:"Book 104 Title" } }, { Item:{ Authors:$dynamodb_SS::["Author1","Author2"], Dimensions:"8.5 x 11.0 x 1.5", ISBN:"555-5555555555", Id:105., InPublication:false, PageCount:6d2, Price:2d3, ProductCategory:"Book", Title:"Book 105 Title" } } ]