

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Restauración de una tabla desde una copia de seguridad en un momento dado en Amazon Keyspaces
<a name="restoretabletopointintime"></a>

En la siguiente sección se muestra cómo restaurar una tabla existente de Amazon Keyspaces en un momento dado especificado. 

**nota**  
En este procedimiento se presupone que la tabla que está utilizando se ha configurado con recuperación. point-in-time Para habilitar la PITR en una tabla, consulte [Configuración de la PITR para una tabla en Amazon Keyspaces](configure_PITR.md). 

**importante**  
 Mientras se esté realizando una restauración, no modifique ni elimine las políticas AWS Identity and Access Management (de IAM) que otorgan permiso al principal de IAM (por ejemplo, al usuario, grupo o rol) para realizar la restauración. De lo contrario, puede ocurrir un comportamiento inesperado. Por ejemplo, si se quitan los permisos de escritura de una tabla mientras se restaura, la operación `RestoreTableToPointInTime` subyacente no puede escribir ninguno de los datos restaurados en la tabla.   
Puede modificar o eliminar los permisos solo después de que finalice la operación de restauración.

------
#### [ Console ]

**Restauración de una tabla en un momento dado mediante la consola**

1. [Inicia sesión en la Consola de administración de AWS consola de Amazon Keyspaces y ábrela desde casahttps://console.aws.amazon.com/keyspaces/.](https://console.aws.amazon.com/keyspaces/home)

1. En el panel de navegación del lado izquierdo de la consola, elija **Tablas**.

1. En la lista de tablas, elija la tabla que quiera restaurar. 

1. En la pestaña **Copias** de seguridad de la tabla, en la sección **Point-in-time de recuperación**, selecciona **Restaurar**.

1. Para el nombre de la nueva tabla, escriba un nombre para la tabla restaurada, por ejemplo, **mytable\$1restored**. 

1. Para definir el momento dado para la operación de restauración, puede elegir entre dos opciones:
   + Seleccione la hora **Más antigua** preconfigurada.
   + Seleccione **Especificar fecha y hora** e introduzca la fecha y hora a la que desea restaurar la nueva tabla.
**nota**  
Puede restaurar a cualquier momento dado entre la hora **Más antigua** y la hora actual. Amazon Keyspaces restaura los datos de su tabla al estado basado en la fecha y hora seleccionadas (day:hour:minute:second). 

1. Elija **Restaurar** para iniciar el proceso de restauración. 

   La tabla que se va a restaurar se muestra con el estado **Restaurando**. Una vez finalizado el proceso de restauración, el estado de la tabla restaurada cambia a **Activa**.

------
#### [ Cassandra Query Language (CQL) ]

**Restauración de una tabla en un momento dado con CQL**

1. Puede restaurar una tabla activa a una hora point-in-time intermedia `earliest_restorable_timestamp` y la hora actual. El valor predeterminado es la hora actual.

   Para confirmar que point-in-time la recuperación de la tabla está habilitada, consulte la tabla tal y `system_schema_mcs.tables` como se muestra en este ejemplo.

   ```
   SELECT custom_properties
   FROM system_schema_mcs.tables
   WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
   ```

   Point-in-time la recuperación está habilitada, como se muestra en el siguiente ejemplo de salida. 

   ```
   custom_properties
   -----------------
   {
     ...,
       "point_in_time_recovery": {
       "earliest_restorable_timestamp":"2020-06-30T19:19:21.175Z"
       "status":"enabled"
     }
   }
   ```

1. 
   + Restaure la tabla a la hora actual. Si se omite la cláusula `WITH restore_timestamp = ...`, se utiliza la marca de tiempo actual. 

     ```
     RESTORE TABLE mykeyspace.mytable_restored
     FROM TABLE mykeyspace.mytable;
     ```
   + También puede restaurar a un punto específico en el tiempo, definido por una `restore_timestamp` en formato ISO 8601. Puede especificar cualquier momento de los últimos 35 días. Por ejemplo, el siguiente comando restaura la tabla al a fecha y hora del valor `EarliestRestorableDateTime`. 

     ```
     RESTORE TABLE mykeyspace.mytable_restored
     FROM TABLE mykeyspace.mytable
     WITH restore_timestamp = '2020-06-30T19:19:21.175Z';
     ```

     Para obtener una descripción completa de la sintaxis, consulte [RESTORE TABLE](cql.ddl.table.md#cql.ddl.table.restore) en la referencia del lenguaje.

1. Para comprobar que la restauración de la tabla se haya realizado correctamente, consulte `system_schema_mcs.tables` para confirmar el estado de la tabla.

   ```
   SELECT status
   FROM system_schema_mcs.tables
   WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable_restored'
   ```

   La consulta muestra la siguiente salida.

   ```
   status
   ------
   RESTORING
   ```

   La tabla que se va a restaurar se muestra con el estado **Restaurando**. Una vez finalizado el proceso de restauración, el estado de la tabla cambia a **Activa**.

------
#### [ CLI ]

**Restaure una tabla a un punto en el tiempo mediante el AWS CLI**

1. Cree una tabla sencilla llamada `myTable` con la PITR habilitada. El comando se ha dividido en líneas separadas para mejorar la legibilidad.

   ```
   aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' 
               --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
               --point-in-time-recovery 'status=ENABLED'
   ```

1. Confirme las propiedades de la nueva tabla y revise la `earliestRestorableTimestamp` de la PITR.

   ```
   aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

   Este comando devuelve la siguiente salida.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable",
       "creationTimestamp": "2022-06-20T14:34:57.049000-07:00",
       "status": "ACTIVE",
       "schemaDefinition": {
           "allColumns": [
               {
                   "name": "id",
                   "type": "int"
               },
               {
                   "name": "date",
                   "type": "timestamp"
               },
               {
                   "name": "name",
                   "type": "text"
               }
           ],
           "partitionKeys": [
               {
                   "name": "id"
               }
           ],
           "clusteringKeys": [],
           "staticColumns": []
       },
       "capacitySpecification": {
           "throughputMode": "PAY_PER_REQUEST",
           "lastUpdateToPayPerRequestTimestamp": "2022-06-20T14:34:57.049000-07:00"
       },
       "encryptionSpecification": {
           "type": "AWS_OWNED_KMS_KEY"
       },
       "pointInTimeRecovery": {
           "status": "ENABLED",
           "earliestRestorableTimestamp": "2022-06-20T14:35:13.693000-07:00"
       },
       "defaultTimeToLive": 0,
       "comment": {
           "message": ""
       }
   }
   ```

1. 
   + Para restaurar una tabla en un momento dado, especifique una `restore_timestamp` en formato ISO 8601. Puede elegir cualquier momento dado durante los últimos 35 días en intervalos de un segundo. Por ejemplo, el siguiente comando restaura la tabla al a fecha y hora del valor `EarliestRestorableDateTime`. 

     ```
     aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored' --restore-timestamp "2022-06-20 21:35:14.693"
     ```

     La salida de este comando devuelve el ARN de la tabla restaurada.

     ```
     {
         "restoredTableARN": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable_restored"
     }
     ```
   + Para restaurar la tabla a la hora actual, puede omitir el parámetro `restore-timestamp`.

     ```
     aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored1'"
     ```

------