CreateTable - Amazon DynamoDB

CreateTable

Importante

Esta seção refere-se à versão de API 2011-12-05, que está obsoleta e não deve ser usada para novos aplicativos.

Para obter a documentação da API de baixo nível atual, consulte a Referência da API do Amazon DynamoDB.

Descrição

A operação CreateTable adiciona uma nova tabela à sua conta.

O nome da tabela deve ser exclusivo entre aqueles associados à conta da AWS que emite a solicitação e à região da AWS que recebe a solicitação (como dynamodb.us-west-2.amazonaws.com). Cada endpoint do DynamoDB é totalmente independente. Por exemplo, se você tiver duas tabelas chamadas “MyTable”, uma em dynamodb.us-west-2.amazonaws.com e outra em dynamodb.us-west-1.amazonaws.com, elas serão completamente independentes e não compartilharão nenhum dado.

A operação CreateTable desencadeia um fluxo de trabalho assíncrono para começar a criação da tabela. O DynamoDB retorna imediatamente o estado da tabela (CREATING) até que ela atinja o estado ACTIVE. Quando a tabela estiver no estado ACTIVE, você poderá realizar as operações de plano de dados.

Use a operação DescribeTables para verificar o status da tabela.

Solicitações

Sintaxe

// This header is abbreviated. // For a sample of a complete header, see API de baixo nível do DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.CreateTable content-type: application/x-amz-json-1.0 {"TableName":"Table1", "KeySchema": {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10} }
Nome Descrição Obrigatório
TableName

O nome da tabela a ser criada.

Os caracteres permitidos são a-z, A-Z, 0-9, '_' (sublinhado), '-' (traço) e '.' (ponto). Os nomes podem ter de 3 a 255 caracteres.

Tipo: sequência

Sim
KeySchema

A estrutura da chave primária (simples ou composta) da tabela. O par de nome-valor de HashKeyElement é obrigatório, e um par de nome-valor de RangeKeyElement é opcional (obrigatório apenas para chaves primárias compostas). Para obter mais informações sobre chaves primárias, consulte Chave primária.

Nomes de elementos de chave primária podem ter entre 1 e 255 caracteres de comprimento, sem restrições de caracteres.

Os valores possíveis para AttributeType são "S" (string), "N" (numérico) ou "B" (binário).

Tipo: mapa de HashKeyElement, ou HashKeyElement e RangeKeyElement para uma chave primária composta.

Sim
ProvisionedThroughput Novo throughput da tabela especificada consistindo em valores para ReadCapacityUnits e WriteCapacityUnits. Para obter detalhes, consulte Modo de capacidade provisionada.
nota

Para conhecer os valores máximos/mínimos atuais, consulte Service quotas, conta e cotas de tabela no Amazon DynamoDB.

Tipo: matriz

Sim
ProvisionedThroughput: ReadCapacityUnits

Define o número mínimo de ReadCapacityUnits consistentes consumidas por segundo para a tabela especificada antes que o DynamoDB balanceie a carga com outras operações.

As operações de leitura eventualmente consistente requerem menos esforço que uma operação de leitura consistente, portanto, uma definição de 50 ReadCapacityUnits consistentes por segundo oferece 100 ReadCapacityUnits eventualmente consistentes por segundo.

Tipo: número

Sim
ProvisionedThroughput: WriteCapacityUnits Define o número mínimo de WriteCapacityUnits consumidas por segundo para a tabela especificada antes que o DynamoDB balanceie a carga com outras operações.

Tipo: número

Sim

Respostas

Sintaxe

HTTP/1.1 200 OK x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 311 Date: Tue, 12 Jul 2011 21:31:03 GMT {"TableDescription": {"CreationDateTime":1.310506263362E9, "KeySchema": {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}, "TableName":"Table1", "TableStatus":"CREATING" } }
Nome Descrição
TableDescription Um contêiner para as propriedades da tabela.
CreationDateTime

Data em que a tabela foi criada, no formato de tempo epoch UNIX.

Tipo: número

KeySchema

A estrutura da chave primária (simples ou composta) da tabela. O par de nome-valor de HashKeyElement é obrigatório, e um par de nome-valor de RangeKeyElement é opcional (obrigatório apenas para chaves primárias compostas). Para obter mais informações sobre chaves primárias, consulte Chave primária.

Tipo: mapa de HashKeyElement, ou HashKeyElement e RangeKeyElement para uma chave primária composta.

ProvisionedThroughput

O throughput da tabela especificada consistindo em valores para ReadCapacityUnits e WriteCapacityUnits. Consulte Modo de capacidade provisionada.

Tipo: matriz

ProvisionedThroughput :ReadCapacityUnits

O número mínimo de ReadCapacityUnits consumidas por segundo antes que o DynamoDB balanceie a carga com outras operações.

Tipo: número

ProvisionedThroughput :WriteCapacityUnits

O número mínimo de ReadCapacityUnits consumidas por segundo antes que WriteCapacityUnits balanceie a carga com outras operações.

Tipo: número

TableName

O nome da tabela criada.

Tipo: sequência

TableStatus

O estado atual da tabela (CREATING). Quando a tabela estiver no estado ACTIVE, você poderá inserir dados nela.

Use a API DescribeTables para verificar o status da tabela.

Tipo: sequência

Erros especiais

Erro Descrição
ResourceInUseException Tentativa de recriar uma tabela já existente.
LimitExceededException

O número de solicitações simultâneas de tabela (número cumulativo de tabelas no estado CREATING, DELETING ou UPDATING) excede o máximo permitido.

nota

Para conhecer os valores máximos/mínimos atuais, consulte Service quotas, conta e cotas de tabela no Amazon DynamoDB.

.

Exemplos

O exemplo a seguir cria uma tabela com uma chave primária composta que contém uma string e um número. Para obter exemplos sobre o uso do AWS SDK, consulte Trabalhar com tabelas e dados no DynamoDB.

Exemplo de solicitação

// This header is abbreviated. // For a sample of a complete header, see API de baixo nível do DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.CreateTable content-type: application/x-amz-json-1.0 {"TableName":"comp-table", "KeySchema": {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10} }

Exemplo de resposta

HTTP/1.1 200 OK x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 311 Date: Tue, 12 Jul 2011 21:31:03 GMT {"TableDescription": {"CreationDateTime":1.310506263362E9, "KeySchema": {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"}, "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}}, "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}, "TableName":"comp-table", "TableStatus":"CREATING" } }