Eliminación de un archivo en Amazon Glacier con AWS SDK para Java - Amazon Glacier

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, que ofrecen una experiencia del cliente superior con las API basadas en buckets de S3, Región de AWS disponibilidad total, costos más bajos e AWS integración de servicios. Si desea mejorar las capacidades, considere la posibilidad de migrar a las clases de almacenamiento de Amazon S3 Glacier mediante nuestra AWSGuía de soluciones para la transferencia de datos de los almacenes de Amazon Glacier a las clases de almacenamiento de Amazon S3 Glacier.

Eliminación de un archivo en Amazon Glacier con AWS SDK para Java

A continuación se indican los pasos que hay que seguir para eliminar un archivo mediante la API de bajo nivel de AWS SDK para Java.

  1. Cree una instancia de la clase AmazonGlacierClient (el cliente).

    Debe especificar la región de AWS en la que está almacenado el archivo que quiere eliminar. Todas las operaciones que realice con este cliente se aplican a esa región de AWS.

  2. Proporcione la información de la solicitud creando una instancia de la clase DeleteArchiveRequest.

    Debe proporcionar el ID del archivo, el nombre del almacén y el ID de la cuenta. Si no proporciona el ID de la cuenta, se presumirá que se trata del 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.

  3. Ejecute el método deleteArchive proporcionando el objeto de solicitud como parámetro.

En el siguiente fragmento de código Java, se ilustran los pasos anteriores.

AmazonGlacierClient client; DeleteArchiveRequest request = new DeleteArchiveRequest() .withVaultName("*** provide a vault name ***") .withArchiveId("*** provide an archive ID ***"); client.deleteArchive(request);

nota

Para obtener información acerca de la API de REST subyacente, consulte Eliminación de archivo (DELETE archivo).

Ejemplo: eliminación de un archivo con AWS SDK para Java

En el ejemplo de código Java siguiente, se utiliza AWS SDK para Java para eliminar un archivo. Para obtener instrucciones paso a paso sobre cómo ejecutar este ejemplo, consulte Ejecución de ejemplos de Java para Amazon Glacier con Eclipse. Debe actualizar el código mostrado con un nombre de almacén y el ID del archivo que quiere eliminar.

import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.DeleteArchiveRequest; public class ArchiveDelete { public static String vaultName = "*** provide vault name ****"; public static String archiveId = "*** provide archive ID***"; 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/"); try { // Delete the archive. client.deleteArchive(new DeleteArchiveRequest() .withVaultName(vaultName) .withArchiveId(archiveId)); System.out.println("Deleted archive successfully."); } catch (Exception e) { System.err.println("Archive not deleted."); System.err.println(e); } } }