如何列出 Amazon Glacier 中的档案?

如何列出 Amazon Glacier 中的档案?

我是 Amazon Glacier 的新手。我已成功创建保管库并上传了一些档案。在管理控制台中,我只能看到保管库的名称,并且它包含 4 个档案,占用 4.2 GiB。但我就是找不到列出保管库中档案的方法。随后我需要删除这些档案,因为它们包含错误的数据。

我已经在 Google 上搜索了一个多小时,但仍然找不到列出保险库内容的方法。

答案1

Amazon Glacier 数据并不是可以随意访问的。从保险库中提取数据需要花费相当长的时间。

我建议使用 CloudBerry Explorer。它是免费的,而且在大多数情况下似乎都很好用。

安装后,您需要添加您的 Glacier 帐户。

在此处输入图片描述

双击新帐户并添加显示名称(可以是任何你想要的):

在此处输入图片描述

要获取您的访问密钥和密钥,请导航至 https://portal.aws.amazon.com/gp/aws/securityCredentials或单击您的帐户名并选择安全凭证。 在此处输入图片描述

将这些内容复制并粘贴到新帐户中即可。现在右键单击您的保管库并点击获取库存。等待几个小时即可享受。 在此处输入图片描述

答案2

在 AWS 控制台面板中,无法获取保管库的内容。您必须使用 SDK 或预打包软件来访问此信息。在我的回答中,我使用的是带有 Composer 的 PHP SDK v3,尽管此代码可以适用于 Java 等其他语言。关键是使用将InitiateJobType 设置为 的 API 函数inventory-retrieval。以下代码需要修改以适合您的特定情况。

require('/Users/Parag/Tetragy/vendor/autoload.php');
use Aws\Glacier\GlacierClient;
$glacierClient = GlacierClient::factory(array('profile' => 'default', 'region'  => 'us-east-1', 'version' => '2012-06-01'));
print $result = $glacierClient->initiateJob(array('jobParameters' => array('InventoryRetrievalParameters' => array('StartDate' => '2015-09-01T00:00:00Z', 'EndDate' => '2015-09-10T00:00:00Z'), 'Type' => 'inventory-retrieval'), 'vaultName' => 'MYVAULTNAME'));

上面的最后一行将向命令行打印作业 ID。我仍在等待作业完成,但我计划使用以下代码来获取保险库库存:

print $result = $glacierClient->getJobOutput(array('jobId' => 'MYJOBIDHERE', 'vaultName' => 'MYVAULTNAME'));

initiateJob您可以阅读AWS 文档

相关内容