

# Restaurar uma tabela do DynamoDB de um backup
<a name="Restore.Tutorial"></a>

Esta seção descreve como restaurar uma tabela de um backup usando o console do Amazon DynamoDB ou a AWS Command Line Interface (AWS CLI). 

**nota**  
Se desejar usar a AWS CLI, você precisará configurá-la primeiro. Para obter mais informações, consulte [Acessar o DynamoDB](AccessingDynamoDB.md).

**Topics**

## Restaurar uma tabela de um backup (console)
<a name="restoretable_console"></a>

O procedimento a seguir mostra como restaurar a tabela `Music` usando o arquivo `MusicBackup` que é criado no tutorial[Fazer backup de uma tabela do DynamoDB](Backup.Tutorial.md). 

**nota**  
Este procedimento supõe que a tabela `Music` não existe mais antes de restaurá-la usando o arquivo `MusicBackup`.

**Para restaurar uma tabela de um backup**

1. Faça login no Console de gerenciamento da AWS e abra o console do DynamoDB em [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/).

1. No painel de navegação, no lado esquerdo do console, selecione **Backups**.

1. Na lista de backups, escolha `MusicBackup`.  
![\[Captura de tela da lista de backups e o botão para criar backup.\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/images/select_musicbackup.png)

1. Escolha **Restore**.

1. Insira **Music** como o novo nome da tabela. Confirme o nome do backup e outros detalhes. Em seguida, escolha **Restore table (Restaurar tabela)** para iniciar o processo de restauração.
**nota**  
Você pode restaurar a tabela para a mesma região da AWS ou para uma região diferente daquela na qual o backup reside. Você também pode excluir a criação de índices secundários na nova tabela restaurada. Além disso, você pode especificar um modo de criptografia diferente.  
As tabelas restauradas a partir de backups são sempre criadas usando a classe de tabela do DynamoDB Standard.  
![\[Captura de tela da tabela de restauração na tela de backup com detalhes da tabela de backup.\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/images/restore_table.png)

   A tabela que está sendo restaurada é mostrada com o status **Creating (Em criação)**. Quando o processo de restauração for concluído, o status da tabela `Music` mudará para **Active (Ativo)**.

## Restaurar uma tabela de um backup (AWS CLI)
<a name="restoretable_cli"></a>

Siga estas etapas para usar a AWS CLI para restaurar a tabela `Music` usando o `MusicBackup` que é criado no tutorial [Fazer backup de uma tabela do DynamoDB](Backup.Tutorial.md).

**Para restaurar uma tabela de um backup**

1. Confirme o backup que você deseja restaurar usando o comando `list-backups`. Este exemplo usa `MusicBackup`.

   ```
   aws dynamodb list-backups
   ```

   Para obter outros detalhes sobre o backup, use o comando `describe-backup`. É possível obter a entrada `backup-arn` da etapa anterior:

   ```
   aws dynamodb describe-backup \
   --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d
   ```

1. Restaure a tabela por meio do backup. Nesse caso, o `MusicBackup` restaura a tabela `Music` para a mesma região da AWS.

   ```
   aws dynamodb restore-table-from-backup \
   --target-table-name Music \
   --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d
   ```

1. Restaure a tabela do backup com configurações de tabela personalizadas. Nesse caso, o `MusicBackup` restaura a tabela `Music` e especifica um modo de criptografia para a tabela restaurada.
**nota**  
O parâmetro `sse-specification-override` assume os mesmos valores do parâmetro `sse-specification-override` usado no comando `CreateTable`. Para saber mais, consulte [Gerenciar tabelas criptografadas no DynamoDB](encryption.tutorial.md).

   ```
   aws dynamodb restore-table-from-backup \
   --target-table-name Music \
   --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581080476474-e177ebe2 \
   --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
   ```

   Você pode restaurar a tabela para outra região da AWS diferente daquela na qual o backup reside.
**nota**  
O parâmetro `sse-specification-override` é obrigatório para restaurações entre regiões, mas opcional para restaurações na mesma região da tabela de origem.
Ao realizar uma restauração entre regiões na linha de comando, você deve definir a região padrão da AWS como a região de destino desejada. Para saber mais, consulte [Opções de linha de comando](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html) no *Guia do usuário do AWS Command Line Interface*.

   ```
   aws dynamodb restore-table-from-backup \
   --target-table-name Music \
   --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581080476474-e177ebe2 \
   --sse-specification-override Enabled=true,SSEType=KMS
   ```

   Você pode substituir o modo de faturamento e o throughput provisionado para a tabela restaurada.

   ```
   aws dynamodb restore-table-from-backup \
   --target-table-name Music \
   --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d \
   --billing-mode-override PAY_PER_REQUEST
   ```

   Você pode excluir a criação de alguns ou todos os índices secundários na tabela restaurada.
**nota**  
As restaurações poderão ser mais rápidas e econômicas se você excluir a criação de alguns ou todos os índices secundários na tabela restaurada.

   ```
   aws dynamodb restore-table-from-backup \
   --target-table-name Music \
   --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581081403719-db9c1f91 \
   --global-secondary-index-override '[]' \
   --sse-specification-override Enabled=true,SSEType=KMS
   ```
**nota**  
Os índices secundários fornecidos devem corresponder a índices existentes correspondentes. Você não pode criar novos índices no momento da restauração.

   Você pode usar uma combinação de diferentes substituições. Por exemplo, você pode usar um único índice secundário global e alterar o throughput provisionado ao mesmo tempo, da seguinte forma.

   ```
   aws dynamodb restore-table-from-backup \
   --target-table-name Music \
   --backup-arn arn:aws:dynamodb:eu-west-1:123456789012:table/Music/backup/01581082594992-303b6239 \
   --billing-mode-override PROVISIONED \
   --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \
   --global-secondary-index-override IndexName=singers-index,KeySchema=["{AttributeName=SingerName,KeyType=HASH}"],Projection="{ProjectionType=KEYS_ONLY}",ProvisionedThroughput="{ReadCapacityUnits=5,WriteCapacityUnits=5}" \
   --sse-specification-override Enabled=true,SSEType=KMS
   ```

 Para verificar a restauração, use o comando `describe-table` para descrever a tabela `Music`.

```
aws dynamodb describe-table --table-name Music 
```

A tabela que está sendo restaurada do backup é mostrada com o status **Creating (Em criação)**. Quando o processo de restauração for concluído, o status da tabela `Music` mudará para **Active (Ativo)**.

**Importante**  
Enquanto a restauração estiver em andamento, não modifique nem exclua a política de função do IAM. Caso contrário, poderá haver um comportamento inesperado. Por exemplo, suponha que você tenha removido as permissões de gravação para uma tabela enquanto essa tabela estava sendo restaurada. Nesse caso, a operação `RestoreTableFromBackup` subjacente não conseguiria gravar na tabela nenhum dos dados restaurados.  
Assim que a operação de restauração estiver concluída, você poderá modificar ou excluir a política de função do IAM.  
Políticas do IAM envolvendo [restrições de IP de origem](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip) para acessar a tabela de restauração de destino devem ter a chave [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-viaawsservice](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-viaawsservice) definida como `false` para garantir que as restrições se apliquem apenas a solicitações feitas diretamente por um responsável principal. Caso contrário, a restauração será cancelada.  
Se o backup for criptografado com uma Chave gerenciada pela AWS ou uma chave gerenciada pelo cliente, não desabilite nem exclua a chave enquanto a restauração estiver em andamento. Caso contrário, ocorrerá falha.  
Depois que a operação de restauração for concluída, você poderá alterar a chave de criptografia da tabela restaurada e desabilitar ou excluir a chave antiga.