

# Habilitar a recuperação para um ponto no tempo no DynamoDB
<a name="PointInTimeRecovery_Howitworks"></a>

A recuperação em um ponto anterior no tempo (PITR) do Amazon DynamoDB fornece backups automáticos dos dados de tabelas do DynamoDB. Esta seção apresenta uma visão geral de como o processo funciona no DynamoDB.

**nota**  
O DynamoDB cobra pela PITR com base no tamanho de cada tabela do DynamoDB, incluindo dados das tabelas e índices secundários locais. Alterar a janela de recuperação (por exemplo, de 35 dias para 1 dia) não reduz o preço. O custo permanece o mesmo, independentemente do período de recuperação escolhido. O período máximo de recuperação configurado não afeta o preço cobrado pela ativação da PITR. Para determinar suas cobranças de backup, o DynamoDB monitora continuamente o tamanho das tabelas que têm a PITR ativada. Você será cobrado pelo uso da PITR até desativá-la em cada tabela.

**Topics**
+ [Habilitar a recuperação para um ponto no tempo](#howitworks_enabling)
+ [Habilitar a PITR (console)](#howitworks-enable-pitr-console)
+ [Habilitar a PITR (AWS CLI)](#howitworks-enable-pitr-cli)
+ [Habilitar a PITR (CloudFormation)](#howitworks-enable-pitr-cfn)
+ [Habilitar a PITR (API)](#howitworks-enable-pitr-api)
+ [Período de recuperação](#howitworks-pitr-recovery-period)
+ [Editar PITR](#howitworks-pitr-editing)
+ [Excluir uma tabela com a PITR habilitada](#howitworks-pitr-deleting-table)

## Habilitar a recuperação para um ponto no tempo
<a name="howitworks_enabling"></a>

Você pode habilitar a recuperação pontual usando o Console de gerenciamento da AWS, a AWS Command Line Interface (AWS CLI) ou a API do DynamoDB. Quando habilitada, a recuperação pontual oferece backups contínuos até que você a desative explicitamente.

Depois de habilitar a recuperação para um ponto no tempo, será possível restaurar para qualquer ponto no tempo entre `EarliestRestorableDateTime` e `LatestRestorableDateTime`. `LatestRestorableDateTime` normalmente é cinco minutos antes da hora atual. Para obter mais informações, consulte [Restaurar uma tabela do DynamoDB para um ponto no tempo](PointInTimeRecovery.Tutorial.md).

**nota**  
O processo de recuperação pontual sempre restaura uma nova tabela.

## Habilitar a PITR (console)
<a name="howitworks-enable-pitr-console"></a>

**Para habilitar a PITR usando o console do DynamoDB**

1. Navegue até o console do DynamoDB.

1. Selecione **Tabelas** no painel de navegação à esquerda e selecione sua tabela do DynamoDB.

1. Na guia **Backups**, para a opção **Recuperação para um ponto no tempo**, selecione **Editar**.

1. Escolha **Ativar recuperação para um ponto no tempo**.

1. Escolha um valor entre 1 e 35 para o período de recuperação de backup. Isso indica o período máximo durante o qual o backup contínuo pode ser recuperado.

## Habilitar a PITR (AWS CLI)
<a name="howitworks-enable-pitr-cli"></a>

**nota**  
Se você receber erros ao executar comandos da AWS CLI, consulte [Troubleshoot AWS CLI errors](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-troubleshooting.html). Verifique se está usando a versão mais recente da AWS CLI.

Execute o comando [update-continuous-backups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dynamodb/update-continuous-backups.html) com a configuração **point-in-time-recovery-specification** ativada:

```
aws dynamodb update-continuous-backups \
--table-name Music \
--point-in-time-recovery-specification PointInTimeRecoveryEnabled=true,RecoveryPeriodInDays=35
```

## Habilitar a PITR (CloudFormation)
<a name="howitworks-enable-pitr-cfn"></a>

Use o recurso [AWS::DynamoDB::Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) com a propriedade `PointInTimeRecoverySpecification` ativada:

```
Resources:
  iotCatalog:
    Type: AWS::DynamoDB::Table
      Properties:
      ...
      PointInTimeRecoverySpecification:
        PointInTimeRecoveryEnabled: true
        RecoveryPeriodInDays: 35
```

**Exemplo de sintaxe de solicitação:**

```
{
   "PointInTimeRecoverySpecification": { 
      "PointInTimeRecoveryEnabled": boolean,
      "RecoveryPeriodInDays: number
   },
   "TableName": "string"
}
```

## Habilitar a PITR (API)
<a name="howitworks-enable-pitr-api"></a>

Execute a operação da API [UpdateContinuousBackups](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateContinuousBackups.html) com o parâmetro `PointInTimeRecoverySpecification` ativado.

**Exemplo de sintaxe de solicitação:**

```
{
   "PointInTimeRecoverySpecification": { 
      "PointInTimeRecoveryEnabled": boolean,
      "RecoveryPeriodInDays" : number
   },
   "TableName": "string"
}
```

**Exemplo de sintaxe de resposta:**

```
{
   "ContinuousBackupsDescription": { 
      "ContinuousBackupsStatus": "string",
      "PointInTimeRecoveryDescription": { 
         "PointInTimeRecoveryStatus": "string",
         "EarliestRestorableDateTime": number,
         "RecoveryPeriodInDays": number,
         "LatestRestorableDateTime": number
      }
   }
}
```

**Python**

```
import boto3

dynamodb = boto3.client('dynamodb')

response = dynamodb.update_continuous_backups(
    TableName=<table_name>,
    PointInTimeRecoverySpecification={
        'PointInTimeRecoveryEnabled': True,
        'RecoveryPeriodInDays': 35
    }
)
```

## Período de recuperação
<a name="howitworks-pitr-recovery-period"></a>

É possível definir o período de recuperação para backups contínuos como qualquer número entre 1 e 35 dias. Esse `RecoveryPeriodInDays` determina o período durante o qual os backups contínuos são mantidos. Por exemplo, se você definir esse valor como 30 dias, só poderá restaurar sua tabela para qualquer momento dos últimos 30 dias.

**nota**  
O DynamoDB cobra pela PITR com base no tamanho de cada tabela do DynamoDB, incluindo dados das tabelas e índices secundários locais. O período máximo de recuperação configurado não afeta o preço cobrado pela ativação da PITR. Para ter detalhes de preço, consulte [Preço do DynamoDB](https://aws.amazon.com/dynamodb/pricing/on-demand/).

## Editar PITR
<a name="howitworks-pitr-editing"></a>

É possível editar a configuração de PITR na tabela e alterar o período de recuperação. Se você alterar o período de recuperação e aumentá-lo para um valor maior do que o definido anteriormente, o `EarliestRestorePoint` não mudará imediatamente. Como o período de recuperação é uma janela contínua, o DynamoDB continuará fazendo backups automáticos até que o novo período aumentado seja atingido. Se você alterar o período de recuperação e diminuí-lo para um valor menor do que o definido anteriormente, o `EarliestRestorePoint` diminuirá imediatamente para corresponder ao período de recuperação e quaisquer backups contínuos que estejam fora do novo valor definido não serão recuperáveis.

## Excluir uma tabela com a PITR habilitada
<a name="howitworks-pitr-deleting-table"></a>

Quando você exclui uma tabela com a recuperação para um ponto no tempo habilitada, o DynamoDB cria automaticamente um backup *chamado backup do sistema* e o mantém por 35 dias (sem custo adicional). É possível usar o backup do sistema para restaurar a tabela excluída no estado em que estava antes da exclusão. Todos os backups do sistema seguem uma convenção de nomenclatura padrão: *table-name*`$DeletedTableBackup`.

**nota**  
Depois que uma tabela com a recuperação para um ponto no tempo habilitada for excluída, você poderá usar o backup do sistema para restaurar essa tabela em um único ponto no tempo. O backup do sistema será criado após a exclusão da tabela e é um snapshot da tabela logo antes de ela ser excluída.