Criar uma tabela global
Importante
Esta documentação, destinada à versão 2017.11.29 (herdada) de tabelas globais, deve ser evitada para novas tabelas globais. Os clientes devem usar Global Tables versão 2019.11.21 (atual) sempre que possível, pois ela oferece maior flexibilidade e eficiência, além de consumir menor capacidade de gravação que a 2017.11.29 (herdada).
Para determinar qual versão você está usando, consulte Determinar a versão da tabela global do DynamoDB que você está usando. Para atualizar tabelas globais existentes da versão 2017.11.29 (herdada) para a versão 2019.11.21 (atual), consulte Atualizar as tabelas globais.
Esta seção descreve como criar uma tabela global usando o console do Amazon DynamoDB ou a AWS Command Line Interface (AWS CLI).
Criar uma tabela global (console)
Siga estas etapas para criar uma tabela global usando o console. O exemplo a seguir cria uma tabela global com tabelas-réplica nos Estados Unidos e na Europa.
-
Abra o console do DynamoDB em https://console.aws.amazon.com/dynamodb/
. Para este exemplo, escolha a região us-east-2 (Leste dos EUA (Ohio)). -
No painel de navegação, no lado esquerdo do console, selecione Tables (Tabelas).
-
Selecione Create Table (Criar tabela).
Em Table name (Nome da tabela), insira
Music
.Em Primary key (Chave primária) insira
Artist
. Escolha Add sort key (Adicionar chave de classificação) e insiraSongTitle
(Artist
eSongTitle
devem ser strings).Para criar a tabela, selecione Create (Criar). Essa tabela serve como a primeira tabela-réplica em uma nova tabela global. Ela é o protótipo das outras tabelas-réplica que serão adicionadas posteriormente.
-
Selecione a guia Tabelas globais, depois escolha Criar uma réplica da versão 2017.11.29 (herdada).
-
Do menu suspenso Available replication Regions (Regiões de replicação disponíveis), escolha US West (Oregon) (Oeste dos EUA – Oregon).
O console faz uma verificação para garantir que não exista uma tabela com o mesmo nome na região selecionada. Se existir uma tabela com o mesmo nome, será necessário excluir a tabela existente para criar outra tabela-réplica nessa região.
-
Escolha Create replica (Criar réplica). Isso inicia o processo de criação da tabela na região Oeste dos EUA (Oregon).
A guia Global Table (Tabela global) da tabela selecionada (e de qualquer outra tabela-réplica) mostra que a tabela foi replicada em várias regiões.
-
Agora, adicione outra região para que a tabela global seja replicada e sincronizada nos Estados Unidos e na Europa. Para fazer isso, repita a Etapa 5, mas desta vez especifique Europe (Frankfurt) (Europa – Frankfurt), em vez de US West (Oregon) (Oeste dos EUA – Oregon).
-
Você ainda deve estar usando o AWS Management Console na região US East (Ohio) (Leste dos EUA – Ohio). No menu de navegação à esquerda, selecione Items (Itens), selecione a tabela Music (Música) e, em seguida, escolha Create Item (Criar item).
-
Em Artist (Artista), insira
item_1
. -
Em SongTitle (Nome da música), insira
Song Value 1
. -
Para gravar o item, selecione Create Item (Criar item).
-
-
Pouco tempo depois o item será replicado em todas as três regiões da tabela global. Para verificar, no console, no seletor de regiões no canto superior direito do console, selecione Europe (Frankfurt) (Europa (Frankfurt)). A tabela
Music
na região Europa (Frankfurt) deve conter o novo item. -
Repita a etapa 9 e escolha US West (Oregon) (Oeste dos EUA [Oregon]) para verificar a replicação nessa região.
Criar uma tabela global (AWS CLI)
Siga estas etapas para criar uma tabela global Music
usando a AWS CLI. O exemplo a seguir cria uma tabela global com tabelas-réplica nos Estados Unidos e na Europa.
-
Crie uma nova tabela (
Music
) na região Leste dos EUA (Ohio), com o DynamoDB Streams habilitado (NEW_AND_OLD_IMAGES
).aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-2
-
Crie uma tabela
Music
idêntica na região Leste dos EUA (Norte da Virgínia).aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-1
-
Crie uma tabela global (
Music
) composta de tabelas-réplica nas regiõesus-east-2
eus-east-1
.aws dynamodb create-global-table \ --global-table-name Music \ --replication-group RegionName=us-east-2 RegionName=us-east-1 \ --region us-east-2
nota
O nome da tabela global (
Music
) deve corresponder ao nome de cada uma das tabelas-réplica (Music
). Para ter mais informações, consulte Práticas recomendadas e requisitos para gerenciar tabelas globais. -
Crie outra tabela na região Europa (Irlanda), com as mesmas configurações daquela que você criou na etapa 1 e na etapa 2:
aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region eu-west-1
Após terminar essa etapa, adicione a nova tabela à tabela global
Music
.aws dynamodb update-global-table \ --global-table-name Music \ --replica-updates 'Create={RegionName=eu-west-1}' \ --region us-east-2
-
Para verificar se a replicação está funcionando, adicione um novo item à tabela
Music
na região Leste dos EUA (Ohio).aws dynamodb put-item \ --table-name Music \ --item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-2
-
Aguarde alguns segundos e verifique se o item foi replicado com êxito nas regiões Leste dos EUA (Norte da Virgínia) e Europa (Irlanda).
aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-1
aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region eu-west-1