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
Creación de un almacén en Amazon Glacier con la AWS SDK para Java
La API de bajo nivel dispone de métodos para todas las operaciones de almacén, incluida la creación y eliminación de almacenes, la obtención de la descripción de un almacén y la obtención de una lista de almacenes creados en una determinada Región de AWS. A continuación, se indican los pasos que hay que seguir para crear un almacén mediante AWS SDK para Java.
-
Cree una instancia de la clase
AmazonGlacierClient(el cliente).Debe especificar la Región de AWS en la que quiere crear el almacén. Todas las operaciones que realice con este cliente se aplicarán a esa Región de AWS.
-
Proporcione la información de la solicitud creando una instancia de la clase
CreateVaultRequest.Amazon Glacier (Amazon Glacier) requiere que proporcione el nombre del almacén y el ID de la cuenta. Si no proporciona el ID de la cuenta, se utilizará el ID de cuenta asociado a las credenciales proporcionadas para firmar la solicitud. Para obtener más información, consulte Uso de AWS SDK para Java con Amazon Glacier.
-
Ejecute el método
createVaultproporcionando el objeto de solicitud como parámetro.La respuesta que devuelve Amazon Glacier está disponible en el objeto
CreateVaultResult.
En el siguiente fragmento de código Java, se ilustran los pasos anteriores. En el fragmento de código, se crea un almacén en la región us-west-2. El valor Location que aparece es el URI relativo del almacén, que incluye el ID de la cuenta, la Región de AWS y el nombre del almacén.
AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com"); CreateVaultRequest request = new CreateVaultRequest() .withVaultName("*** provide vault name ***"); CreateVaultResult result = client.createVault(request); System.out.println("Created vault successfully: " + result.getLocation());
nota
Para obtener información acerca de la API de REST subyacente, consulte Creación de un almacén (almacén PUT).
Ejemplo: Creación de un almacén con la AWS SDK para Java
En el siguiente ejemplo de Java, se crea un almacén en la región us-west-2 (para obtener más información sobre las Regiones de AWS, consulte Acceso a Amazon Glacier). Además, el ejemplo de código recupera la información del almacén, enumera todos los almacenes de la misma Región de AWS y, después, elimina el almacén creado.
Para obtener instrucciones paso a paso acerca de cómo ejecutar el ejemplo siguiente, consulte Ejecución de ejemplos de Java para Amazon Glacier con Eclipse.
import java.io.IOException; import java.util.List; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.CreateVaultRequest; import com.amazonaws.services.glacier.model.CreateVaultResult; import com.amazonaws.services.glacier.model.DeleteVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultOutput; import com.amazonaws.services.glacier.model.DescribeVaultRequest; import com.amazonaws.services.glacier.model.DescribeVaultResult; import com.amazonaws.services.glacier.model.ListVaultsRequest; import com.amazonaws.services.glacier.model.ListVaultsResult; public class AmazonGlacierVaultOperations { public static AmazonGlacierClient client; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); String vaultName = "examplevaultfordelete"; try { createVault(client, vaultName); describeVault(client, vaultName); listVaults(client); deleteVault(client, vaultName); } catch (Exception e) { System.err.println("Vault operation failed." + e.getMessage()); } } private static void createVault(AmazonGlacierClient client, String vaultName) { CreateVaultRequest createVaultRequest = new CreateVaultRequest() .withVaultName(vaultName); CreateVaultResult createVaultResult = client.createVault(createVaultRequest); System.out.println("Created vault successfully: " + createVaultResult.getLocation()); } private static void describeVault(AmazonGlacierClient client, String vaultName) { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() .withVaultName(vaultName); DescribeVaultResult describeVaultResult = client.describeVault(describeVaultRequest); System.out.println("Describing the vault: " + vaultName); System.out.print( "CreationDate: " + describeVaultResult.getCreationDate() + "\nLastInventoryDate: " + describeVaultResult.getLastInventoryDate() + "\nNumberOfArchives: " + describeVaultResult.getNumberOfArchives() + "\nSizeInBytes: " + describeVaultResult.getSizeInBytes() + "\nVaultARN: " + describeVaultResult.getVaultARN() + "\nVaultName: " + describeVaultResult.getVaultName()); } private static void listVaults(AmazonGlacierClient client) { ListVaultsRequest listVaultsRequest = new ListVaultsRequest(); ListVaultsResult listVaultsResult = client.listVaults(listVaultsRequest); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); System.out.println("\nDescribing all vaults (vault list):"); for (DescribeVaultOutput vault : vaultList) { System.out.println( "\nCreationDate: " + vault.getCreationDate() + "\nLastInventoryDate: " + vault.getLastInventoryDate() + "\nNumberOfArchives: " + vault.getNumberOfArchives() + "\nSizeInBytes: " + vault.getSizeInBytes() + "\nVaultARN: " + vault.getVaultARN() + "\nVaultName: " + vault.getVaultName()); } } private static void deleteVault(AmazonGlacierClient client, String vaultName) { DeleteVaultRequest request = new DeleteVaultRequest() .withVaultName(vaultName); client.deleteVault(request); System.out.println("Deleted vault: " + vaultName); } }