Saltar al contenido

¿Cómo puedo usar la AWS CLI para restaurar un objeto de Amazon S3 desde la clase de almacenamiento S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive mediante la AWS CLI?

5 minutos de lectura
0

Archivé un objeto de Amazon Simple Storage Service (Amazon S3) en la clase de almacenamiento Amazon S3 Glacier Flexible Retrieval o Amazon S3 Glacier Deep Archive. Quiero usar la Interfaz de la línea de comandos de AWS (AWS CLI) para restaurar el objeto.

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de errores de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Iniciar una solicitud de restauración

Ejecuta el siguiente comando restore-object:

aws s3api restore-object --bucket awsexamplebucket --key dir1/example.obj --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'

Nota: Sustituye los valores de ejemplo por los valores de tu bucket, objeto y solicitud de restauración.

Dado que los cargos por recuperación de datos se basan en la cantidad de solicitudes, confirma que los parámetros de la solicitud de restauración sean correctos.

La solicitud de recuperación crea una copia temporal del objeto en la clase de almacenamiento S3 Standard y conserva el objeto archivado. El comando del ejemplo anterior solicita restaurar el objeto durante 25 días.

Puedes realizar las siguientes modificaciones en el comando anterior:

  • Para restaurar una versión de objeto específica en un bucket versionado, incluye la opción --version-id y, a continuación, especifica el ID de versión correspondiente.
  • Para la clase de almacenamiento S3 Glacier Flexible Retrieval, puedes utilizar las opciones de recuperación Expedited, Standard o Bulk (acelerada, estándar o en bloque). Para la clase de almacenamiento S3 Glacier Deep Archive, solo puedes utilizar las opciones de recuperación Standard o Bulk (estándar o en bloque).
  • Si la sintaxis JSON produce un error en un cliente de Windows, sustituye la solicitud de restauración por la siguiente sintaxis:
    --restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}

Nota: En el caso de los objetos que almacenas en S3 Glacier Instant Retrieval, la recuperación de datos es inmediata y no es necesario utilizar la operación de restauración. Para obtener más información, consulta Clases de almacenamiento de Amazon S3.

Supervisar el estado de la solicitud de restauración

Ejecuta el siguiente comando head-object:

aws s3api head-object --bucket awsexamplebucket --key dir1/example.obj

Si la restauración sigue en curso después de ejecutar el comando, recibirás una respuesta similar al siguiente mensaje:

{  
    "Restore": "ongoing-request=\"true\"",  
    ...  
    "StorageClass": "GLACIER | DEEP_ARCHIVE",  
    "Metadata": {}  
}

Una vez finalizada la restauración, recibirás una respuesta similar al siguiente mensaje:

{  
    "Restore": "ongoing-request=\"false\", expiry-date=\"Sun, 13 Aug 2017 00:00:00 GMT\"",  
    ...  
    "StorageClass": "GLACIER | DEEP_ARCHIVE",  
    "Metadata": {}  
}

En el mensaje que recibas una vez finalizada la restauración, anota la fecha de vencimiento. Tienes hasta la fecha de vencimiento que se muestra para acceder al objeto temporal que está almacenado en la clase de almacenamiento S3 Standard. El objeto temporal está disponible con el objeto archivado que se encuentra en la clase de almacenamiento S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive. Una vez transcurrida la fecha de vencimiento, Amazon S3 elimina el objeto temporal. Debes cambiar la clase de almacenamiento del objeto antes de que caduque el objeto temporal. Para cambiar la clase de almacenamiento del objeto después de la fecha de vencimiento, inicia una nueva solicitud de restauración.

Cambiar la clase de almacenamiento del objeto a Amazon S3 Standard

Para cambiar la clase de almacenamiento del objeto a Amazon S3 Standard, utiliza copy. Puedes sobrescribir el objeto o copiarlo en otra ubicación.

Advertencia: Si utilizas la versión 1.x de la AWS CLI, define el umbral multiparte en 5 GB antes de copiar un objeto. De lo contrario, perderás los metadatos de usuario del objeto cuando el tamaño del objeto supere los umbrales multiparte de la AWS CLI. Para conservar los metadatos de usuario de los objetos de más de 5 GB, utiliza la versión 2.x de la AWS CLI.

(Opcional) Para aumentar el umbral multiparte de la AWS CLI, ejecuta el siguiente comando configure:

aws configure set default.s3.multipart_threshold 5GB

Para sobrescribir el objeto con la clase de almacenamiento Amazon S3 Standard, ejecuta el siguiente comando cp:

aws s3 cp s3://awsexamplebucket/dir1/example.obj s3://awsexamplebucket/dir1/example.obj --storage-class STANDARD

Para realizar una copia recursiva de un prefijo completo y sobrescribir los objetos con la clase de almacenamiento Amazon S3 Standard, ejecuta el siguiente comando cp:

aws s3 cp s3://awsexamplebucket/dir1/ s3://awsexamplebucket/dir1/ --storage-class STANDARD --recursive --force-glacier-transfer

Nota: Los objetos que archivas en S3 Glacier Flexible Retrieval tienen una duración de almacenamiento mínima de 90 días. Los objetos que se archivan en S3 Glacier Deep Archive tienen una duración de almacenamiento mínima de 180 días. Si sobrescribes objetos en cualquiera de las clases de almacenamiento antes de la duración mínima de almacenamiento, se te cobrará por toda la duración mínima.

Para copiar el objeto en otra ubicación, ejecuta el siguiente comando cp:

aws s3 cp s3://awsexamplebucket/dir1/example.obj s3://awsexamplebucket/dir2/example2.obj

Nota: En el caso de los buckets suspendidos o los buckets con el control de versiones activado, el paso anterior crea copias adicionales de los objetos. Estos objetos adicionales también conllevan costes de almacenamiento. Para evitar costes de almacenamiento, elimina las versiones no actuales que aún se encuentran en la clase de almacenamiento Amazon S3 Glacier. O bien, crea una regla de vencimiento del ciclo de vida de S3.

Información relacionada

¿Cómo restauro un gran volumen de objetos de Amazon S3 que se encuentran en la clase de almacenamiento S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive?

¿Cómo utilizo los niveles de restauración de la consola de Amazon S3 para restaurar objetos archivados desde la clase de almacenamiento Amazon S3 Glacier?

Restauración de un objeto archivado

1 comentario

This article was reviewed and updated on 2025-10-22.

EXPERTO

respondido hace 10 días