Formatos de importação do Amazon S3 para o DynamoDB - Amazon DynamoDB

Formatos de importação do Amazon S3 para o DynamoDB

O DynamoDB pode importar dados em três formatos: CSV, DynamoDB JSON e Amazon Ion.

CSV

Um arquivo no formato CSV consiste em vários itens delimitados por novas linhas. Por padrão, o DynamoDB interpreta a primeira linha de um arquivo de importação como o cabeçalho e espera que as colunas sejam delimitadas por vírgulas. Você também pode definir cabeçalhos que serão aplicados, desde que correspondam ao número de colunas no arquivo. Se você definir cabeçalhos explicitamente, a primeira linha do arquivo será importada como valores.

nota

Ao importar de arquivos CSV, todas as colunas, exceto o intervalo de hash e as chaves da tabela base e dos índices secundários, são importadas como strings do DynamoDB.

Escape em aspas duplas

Todos os caracteres de aspas duplas presentes no arquivo CSV devem receber escape. Se não receberem escape, como no exemplo a seguir, a importação falhará:

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

Essa mesma importação será bem-sucedida se as aspas receberem escape com dois conjuntos de aspas duplas:

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

Depois que o texto receber escape e for importado corretamente, ele aparecerá como no arquivo CSV original:

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

DynamoDB JSON

Um arquivo no formato JSON do DynamoDB pode consistir em vários objetos de item. Cada objeto está no formato JSON organizado padrão do DynamoDB, e as novas linhas são usadas como delimitadores de itens. Um recurso adicional é usar exportações de um ponto anterior no tempo como uma fonte de importação como padrão.

nota

Novas linhas são usadas como delimitadores de itens para um arquivo no formato JSON do DynamoDB e não devem ser usadas em um objeto de item.

[{ "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

Novas linhas são usadas como delimitadores de itens para um arquivo no formato JSON do DynamoDB e não devem ser usadas em um objeto de item.

[{ "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

O Amazon Ion é um formato de serialização de dados hierárquico, autodescritivo e altamente compatível com vários tipos de declaração e criado para lidar com os desafios de desacoplamento, desenvolvimento rápido e eficiência enfrentados todos os dias na criação de arquiteturas orientadas a serviços em grande escala.

Quando você importa dados no formato Ion, os tipos de dados do Ion são mapeados para os tipos de dados do DynamoDB na nova tabela do DynamoDB.

S. Não. Conversão de tipos de dados Ion em 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

Em um arquivo do Ion, os itens são delimitados por novas linhas. Cada linha começa com um marcador de versão do Ion, seguido por um item no formato Ion.

nota

No exemplo a seguir, formatamos os itens de um arquivo em formato Ion em várias linhas para melhorar a legibilidade.

$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" } } ]