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.
Tópicos
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
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 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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" } } ]