【问题标题】:How to download archive from Glacier using AWS CLI如何使用 AWS CLI 从 Glacier 下载档案
【发布时间】:2016-03-22 20:35:05
【问题描述】:

如何使用 AWS CLI 从 Glacier 下载档案?
我试过了:

aws glacier initiate-job --vault-name test --account-id - --job-parameters '{"Type": "archive-retrieval", "ArchiveId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}'  

我收到以下错误:

调用时发生客户端错误 (PolicyEnforcedException) InitiateJob 操作:InitiateJob 请求被当前数据拒绝 检索策略。

我想这类似于inventory-retrieval 操作,比如现在发送请求,5 小时后再次运行命令下载它。

【问题讨论】:

    标签: amazon-web-services amazon amazon-glacier


    【解决方案1】:

    当我的“数据检索策略”为“仅限免费套餐”时,我遇到了同样的错误。

    两种方式:

    1) 限制下载:

    阅读此https://aws.amazon.com/glacier/faqs/#How_much_data_can_I_retrieve_for_free。简而言之:每天您可以免费检索大约 0.17% 的存储数据。

    2) 为您的下载付费:

    您应该使用网络界面更改它:“Amazon Glacier Vaults”页面 -> 设置; 或使用 aws cli:请参阅 set-data-retrieval-policy https://docs.aws.amazon.com/cli/latest/reference/glacier/set-data-retrieval-policy.html

    【讨论】:

    • 嗨 - 我知道这一点,如果我将其更改为另一层,它就可以工作。但这有悖于目的;在我读到的所有地方,他们都吹嘘“免费层”以及使用 Glacier 的成本如何。所以我想了解如何使用免费层提取数据。
    • 阅读aws.amazon.com/glacier/faqs/…。简而言之:每天您可以免费检索大约 0.17% 的存储数据。
    • 非常好的信息,谢谢。但是我认为我在限制范围内。我存储了 11 个档案,总大小为 110.5MB。根据他们的公式,110.5MB * 5% / 30 = 20MB - 我应该可以免费下载。一个存档11MB,下载还是失败。
    • 你的算法很奇怪... 110.5MB * 5% / 30 ~ 180KB
    • 其实不是我,是 Windows 计算器:110.5MB * 5% / 30 = 20.35041666666667。我试过另一个计算器,确实是 184kb。
    【解决方案2】:

    您需要在策略文档中添加“glacier:InitiateJob”作为允许的操作。

    转到您的 Web UI,单击 Glacier,然后单击您的 Vault。 单击权限,然后单击编辑策略文档。在这里,您在名为“Action”的字段下添加“glacier:InitiateJob”行:[

    【讨论】:

    • 已添加,但仍无法正常工作。我什至添加了action: glacier:*, principal: "*",意思是允许所有用户执行所有操作,但仍然没有。我认为“PolicyEnforcedException”指的是数据检索策略(免费层、最大检索率、无检索限制),而不是权限策略。
    • 另外,我已经将“AmazonGlacierFullAccess”角色附加到此测试中使用的 IAM 用户,因此我真的不需要在 Glacier 端添加其他策略权限。
    【解决方案3】:

    对于像我一样被卡住的人:

    如果您的工作成功完成但您不知道该怎么做,请使用get-job-output

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多