Amazon Glacier
开发人员指南 (API 版本 2012-06-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用AWS SDK for Java在 Amazon Glacier 中从文件库下载档案

以下 Java 代码示例使用AWS SDK for Java高级 API 来下载您在之前的步骤中上传的档案。在代码示例中,请注意以下情况:

  • 以下示例创建 AmazonGlacierClient 类的实例。

  • 该代码使用 美国西部(俄勒冈) 区域 (us-west-2) 以匹配您在步骤 2:在 Amazon Glacier 中创建文件库中创建文件库的位置。

  • 该示例使用了 ArchiveTransferManager 类的 download 方法,该类属于AWS SDK for Java高级 API。此示例创建 Amazon SNS 主题以及订阅该主题的 Amazon Simple Queue Service 队列。如果您按照步骤 1:开始使用 Amazon Glacier 之前中的指示创建了 IAM 管理用户,则您的用户具有必要的 IAM 权限以创建和使用 Amazon SNS 主题和 Amazon SQS 队列。

有关如何运行以下示例的分步说明,请参阅使用 Eclipse 运行 Amazon Glacier 的 Java 示例。您需要更新 步骤 3:在 Amazon Glacier 中将档案上传到文件库 中已上传文件的档案 ID 旁显示的代码。

例 — 使用AWS SDK for Java下载档案

import java.io.File; import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.transfer.ArchiveTransferManager; import com.amazonaws.services.sns.AmazonSNSClient; import com.amazonaws.services.sqs.AmazonSQSClient; public class AmazonGlacierDownloadArchive_GettingStarted { public static String vaultName = "examplevault"; public static String archiveId = "*** provide archive ID ***"; public static String downloadFilePath = "*** provide location to download archive ***"; public static AmazonGlacierClient glacierClient; public static AmazonSQSClient sqsClient; public static AmazonSNSClient snsClient; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); glacierClient = new AmazonGlacierClient(credentials); sqsClient = new AmazonSQSClient(credentials); snsClient = new AmazonSNSClient(credentials); glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com"); sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com"); snsClient.setEndpoint("sns.us-west-2.amazonaws.com"); try { ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient); atm.download(vaultName, archiveId, new File(downloadFilePath)); } catch (Exception e) { System.err.println(e); } } }