此页面仅适用于使用 Vaults 和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。
如果您正在寻找档案存储解决方案,我们建议您在亚马逊 S3、S3 Glacier 即时检索、S3 Glacier 灵活检索和 S3 Glacier Deep Archive Deep Archive 中使用 Amazon Glacier 存储类。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别
从 2025 年 12 月 15 日起,Amazon Glacier(最初基于保管库的独立服务)将不再接受新客户,对现有客户不产生任何影响。Amazon Glacier 是一项独立的服务 APIs ,拥有自己的服务,可将数据存储在文件库中,不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中,您的现有数据将保持安全且可以无限期地访问。无需迁移。对于低成本、长期的存档存储, AWS 建议使用 Amazon S3 Glacier 存储类别,这些存储类别
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Glacier 删除档案 适用于 Java 的 AWS SDK
以下是使用 适用于 Java 的 AWS SDK 低级 API 删除档案的步骤。
-
创建
AmazonGlacierClient类(客户端)的实例。您需要指定存储要删除的档案的 AWS 区域。您使用此客户端执行的所有操作都适用于该 AWS 区域。
-
通过创建一个
DeleteArchiveRequest类的实例提供请求信息。您需要提供档案 ID、文件库名称和您的账户 ID。如果您不提供账户 ID,则系统会使用与您提供来对请求签名的证书相关联的账户 ID。有关更多信息,请参阅 适用于 Java 的 AWS SDK 与 Amazon Glacier 搭配使用。
-
以参数形式提供请求对象,运行
deleteArchive方法。
以下 Java 代码段说明了前面的步骤。
AmazonGlacierClient client; DeleteArchiveRequest request = new DeleteArchiveRequest() .withVaultName("*** provide a vault name ***") .withArchiveId("*** provide an archive ID ***"); client.deleteArchive(request);
注意
有关底层 REST API 的信息,请参阅删除档案。
示例:使用删除档案 适用于 Java 的 AWS SDK
以下 Java 代码示例 适用于 Java 的 AWS SDK 使用删除档案。有关如何运行此示例的 step-by-step说明,请参阅使用 Eclipse 为亚马逊 Glacier 运行 Java 示例。您需要更新文件库名称和待删除档案 ID 旁显示的代码。
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); } } }