DynamoDB - Criar Tabela
A criação de uma tabela geralmente consiste em gerar a tabela, nomeá-la, estabelecer seus atributos de chave primária e definir tipos de dados de atributo.
Utilize o console da GUI, Java ou outra opção para executar essas tarefas.
Criar tabela usando o console da GUI
Crie uma tabela acessando o console em https://console.aws.amazon.com/dynamodb. Em seguida, escolha a opção “Criar Tabela”.
Nosso exemplo gera uma tabela preenchida com informações do produto, com produtos de atributos únicos identificados por um número de identificação (atributo numérico). NoCreate Tabletela, insira o nome da tabela no campo de nome da tabela; insira a chave primária (ID) no campo da chave de partição; e digite “Número” para o tipo de dados.
Após inserir todas as informações, selecione Create.
Criar tabela usando Java
Use Java para criar a mesma tabela. Sua chave primária consiste nos dois atributos a seguir -
ID - Use uma chave de partição e o ScalarAttributeType N, significando número.
Nomenclature - Use uma chave de classificação e o ScalarAttributeType S, significando string.
Java usa o createTable methodpara gerar uma tabela; e dentro da chamada, nome da tabela, atributos de chave primária e tipos de dados de atributo são especificados.
Você pode revisar o seguinte exemplo -
import java.util.Arrays;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.model.AttributeDefinition;
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement;
import com.amazonaws.services.dynamodbv2.model.KeyType;
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput;
import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType;
public class ProductsCreateTable {
public static void main(String[] args) throws Exception {
AmazonDynamoDBClient client = new AmazonDynamoDBClient()
.withEndpoint("http://localhost:8000");
DynamoDB dynamoDB = new DynamoDB(client);
String tableName = "Products";
try {
System.out.println("Creating the table, wait...");
Table table = dynamoDB.createTable (tableName,
Arrays.asList (
new KeySchemaElement("ID", KeyType.HASH), // the partition key
// the sort key
new KeySchemaElement("Nomenclature", KeyType.RANGE)
),
Arrays.asList (
new AttributeDefinition("ID", ScalarAttributeType.N),
new AttributeDefinition("Nomenclature", ScalarAttributeType.S)
),
new ProvisionedThroughput(10L, 10L)
);
table.waitForActive();
System.out.println("Table created successfully. Status: " +
table.getDescription().getTableStatus());
} catch (Exception e) {
System.err.println("Cannot create the table: ");
System.err.println(e.getMessage());
}
}
}
No exemplo acima, observe o endpoint: .withEndpoint.
Indica o uso de uma instalação local usando o localhost. Além disso, observe o necessárioProvisionedThroughput parameter, que a instalação local ignora.