Criar uma tabela global - Amazon DynamoDB

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 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.

  1. 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)).

  2. No painel de navegação, no lado esquerdo do console, selecione Tables (Tabelas).

  3. 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 insira SongTitle (Artist e SongTitle 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.

  4. Selecione a guia Tabelas globais, depois escolha Criar uma réplica da versão 2017.11.29 (herdada).

    Captura de tela do console mostrando o botão Criar uma réplica da versão 2017.11.29 (herdada).
  5. 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.

  6. 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.

  7. 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).

  8. 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).

    1. Em Artist (Artista), insira item_1.

    2. Em SongTitle (Nome da música), insira Song Value 1.

    3. Para gravar o item, selecione Create Item (Criar item).

  9. 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.

  10. 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.

  1. 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
  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
  3. Crie uma tabela global (Music) composta de tabelas-réplica nas regiões us-east-2 e us-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.

  4. 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
  5. 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
  6. 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