Esta página es solo para los clientes actuales del servicio Amazon Glacier que utilizan Vaults y la API de REST original de 2012.
Si busca soluciones de almacenamiento de archivos, se recomienda que utilice las clases de almacenamiento de Amazon Glacier en Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval y S3 Glacier Deep Archive. Para obtener más información sobre estas opciones de almacenamiento, consulte las clases de almacenamiento de Amazon Glacier
Amazon Glacier (servicio original independiente basado en almacenes) ya no aceptará nuevos clientes a partir del 15 de diciembre de 2025, sin que ello afecte a los clientes actuales. Amazon Glacier es un servicio independiente con sus propias API que almacena datos en almacenes y es distinto de las clases de almacenamiento Amazon S3 y Amazon S3 Glacier. Sus datos actuales permanecerán seguros y accesibles en Amazon Glacier de forma indefinida. No hay que hacer migraciones. Para un almacenamiento de archivos a largo plazo y de bajo costo, AWS recomienda las clases de almacenamiento Amazon S3 Glacier
Carga de archivos grandes con la AWS CLI
Para cargar un archivo en Amazon Glacier (Amazon Glacier), puede usar la AWS Command Line Interface (AWS CLI). Para mejorar la experiencia de carga de archivos más grandes, Amazon Glacier ofrece varias operaciones de API para admitir las cargas multiparte. Al usar estas operaciones de API, puede cargar los archivos por partes. Estas partes se pueden cargar por separado, en cualquier orden y en paralelo. Si se produce un error al cargar una parte, solo tendrá que volver a cargar esa parte, no el archivo completo. Puede usar la carga multiparte con archivos que tengan un tamaño entre 1 byte hasta 40 000 gibibytes (GiB) aproximadamente.
Para obtener más información acerca de las cargas multiparte de Amazon Glacier, consulte Carga de archivos grandes por partes (carga multiparte).
Temas
(Requisito previo) Configuración de la AWS CLI
-
Descargue y configure la AWS CLI. Para obtener instrucciones, consulte los siguientes temas en la Guía del usuario de la AWS Command Line Interface:
-
Verifique la configuración de la AWS CLI; para ello, introduzca los siguientes comandos en el símbolo del sistema. Estos comandos no proporcionan las credenciales de forma explícita, por lo que se utilizan las credenciales del perfil predeterminado.
-
Pruebe a usar el comando de ayuda.
aws help -
Para obtener una lista de los almacenes de Amazon Glacier en la cuenta configurada, use el comando
list-vaults. Sustituya123456789012por el ID de su Cuenta de AWS.aws glacier list-vaults --account-id123456789012 -
Para ver los datos de la configuración actual de la AWS CLI, use el comando
aws configure list.aws configure list
-
(Requisito previo) Instalación de Python
Para completar una carga multiparte, debe calcular el hash en árbol SHA256 del archivo que está cargando. Esto no es lo mismo que calcular el hash en árbol SHA256 del archivo que quiere cargar. Para calcular el hash en árbol SHA256 del archivo que está cargando, puede usar Java, C# (con .NET) o Python. En este ejemplo, se usará Python. Para obtener instrucciones sobre cómo usar Java o C#, consulte Cálculo de sumas de comprobación.
Para obtener más información sobre la instalación de Python, consulte Instalar o actualizar Python
(Requisito previo) Creación de un almacén de Amazon Glacier
Para usar el siguiente ejemplo, debe haber creado al menos un almacén de Amazon Glacier. Para obtener más información acerca de la creación de almacenes, consulte Creación de un almacén en Amazon Glacier.
Ejemplo: Carga de archivos grandes por partes con la AWS CLI
En este ejemplo, creará un archivo y utilizará operaciones de la API de carga multiparte para cargarlo, por partes, en Amazon Glacier.
importante
Antes de comenzar con este procedimiento, asegúrese de haber realizado todos los pasos que sean requisitos previos. Para cargar un archivo, debe haber creado un almacén, tener configurada la AWS CLI y haberse preparado para usar Java, C# o Python a fin de calcular un hash en árbol SHA256.
En el siguiente procedimiento se usan los comandos de la AWS CLI initiate-multipart-upload, upload-multipart-part y complete-multipart-upload.
Para obtener más detallada sobre cada uno de estos comandos, consulte initiate-multipart-upload, upload-multipart-part y complete-multipart-upload en la Referencia de los comandos de la AWS CLI.
-
Utilice el comando initiate-multipart-upload para crear un recurso de carga multiparte. En la solicitud, especifique el tamaño de la parte en número de bytes. Todas las partes que se carguen, salvo la última, tendrán este tamaño. Al iniciar una carga, no es necesario saber el tamaño total del archivo. Sin embargo, necesitará el tamaño total (en bytes) de cada una de las partes al completar la carga en el paso final.
En el siguiente comando, reemplace los valores de los parámetros
--vault-namey--account-IDpor su información propia. Este comando especifica que cargará un archivo con un tamaño de parte de 1 mebibyte (MiB) (1024 x 1024 bytes) por archivo. Sustituya el valor del parámetro--part-sizesi es necesario.aws glacier initiate-multipart-upload --vault-nameawsexamplevault--part-size1048576--account-id123456789012Resultado previsto:
{ "location": "/123456789012/vaults/awsexamplevault/multipart-uploads/uploadId", "uploadId": "uploadId" }Cuando termine, el comando mostrará el ID de carga y la ubicación del recurso de carga multiparte en Amazon Glacier. Este ID de carga se usará en los pasos posteriores.
-
Para este ejemplo, puede usar los siguientes comandos para crear un archivo de 4,4 MiB, dividirlo en fragmentos de 1 MiB y cargar cada uno de los fragmentos. Para cargar sus propios archivos, puede seguir un procedimiento similar: dividir los datos en fragmentos y cargar cada una de las partes.
Linux o macOS
El siguiente comando crea un archivo de 4,4 MiB denominado
file_to_uploaden Linux o macOS.mkfile -n 9000bfile_to_uploadWindows
El siguiente comando crea un archivo de 4,4 MiB denominado
file_to_uploaden Windows.fsutil file createnewfile_to_upload4608000 -
A continuación, dividirá este archivo en fragmentos de 1 MiB.
split -b 1048576file_to_uploadchunkAhora tiene los cinco fragmentos siguientes. Los cuatro primeros son de 1 MiB y el último es de aproximadamente 400 kibibytes (KiB).
chunkaa chunkab chunkac chunkad chunkae -
Use el comando upload-multipart-part para cargar una parte de un archivo. Las partes de archivo se pueden cargar en cualquier orden. También puede cargarlas en paralelo. En una carga multiparte, se pueden cargar hasta 10 000 partes.
En el siguiente comando, reemplace los valores de los parámetros
--vault-name,--account-IDy--upload-id. El ID de carga debe coincidir con el ID proporcionado como salida del comandoinitiate-multipart-upload. El parámetro--rangeespecifica que cargará una parte con un tamaño de 1 MiB (1024 x 1024 bytes). Este tamaño debe coincidir con el especificado en el comandoinitiate-multipart-upload. Ajuste este valor de tamaño si es necesario. El parámetro--bodyespecifica el nombre de la parte que está cargando.aws glacier upload-multipart-part --bodychunkaa--range='bytes 0-1048575/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDSi se ejecuta correctamente, el comando generará un resultado que contiene la suma de comprobación de la parte cargada.
-
Vuelva a ejecutar el comando
upload-multipart-partpara cargar las partes restantes de la carga multiparte. Actualice los valores de los parámetros--rangey–-bodyde cada comando para que coincidan con la parte que está cargando.aws glacier upload-multipart-part --bodychunkab--range='bytes 1048576-2097151/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDaws glacier upload-multipart-part --bodychunkac--range='bytes 2097152-3145727/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDaws glacier upload-multipart-part --bodychunkad--range='bytes 3145728-4194303/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDaws glacier upload-multipart-part --bodychunkae--range='bytes 4194304-4607999/*'--vault-nameawsexamplevault--account-id123456789012--upload-idupload_IDnota
El valor del parámetro
--rangedel comando final es más pequeño porque la parte final de nuestra carga es inferior a 1 MiB. Si se ejecuta correctamente, cada comando generará un resultado que contiene la suma de comprobación de cada parte cargada. -
A continuación, se ensamblará el archivo y se finalizará la carga. Debe incluir el tamaño total y el hash en árbol SHA256 del archivo.
Para calcular el hash en árbol SHA256 del archivo, puede usar Java, C# o Python. En este ejemplo, se usará Python. Para obtener instrucciones sobre cómo usar Java o C#, consulte Cálculo de sumas de comprobación.
Cree el archivo
checksum.pyde Python e inserte el código siguiente. Si es necesario, sustituya el nombre del archivo original.from botocore.utils import calculate_tree_hash checksum = calculate_tree_hash(open('file_to_upload', 'rb')) print(checksum) -
Ejecute
checksum.pypara calcular el hash en árbol SHA256. Es posible que el hash siguiente no coincida con la salida.$python3 checksum.py$3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c -
Use el comando complete-multipart-upload para finalizar la carga del archivo. Sustituya los valores de los parámetros
--vault-name,--account-ID,--upload-IDy--checksum. El valor del parámetro--archiveespecifica el tamaño total del archivo en bytes. Este valor debe ser la suma de todos los tamaños de las partes individuales que ha cargado. Sustituya este valor si es necesario.aws glacier complete-multipart-upload --archive-size4608000--vault-nameawsexamplevault--account-id123456789012--upload-idupload_ID--checksumchecksumAl finalizar, el comando mostrará el ID, la suma de comprobación y la ubicación del archivo en Amazon Glacier.