【问题标题】:List files in Glacier with AWS CLI使用 AWS CLI 列出 Glacier 中的文件
【发布时间】:2020-06-01 10:45:52
【问题描述】:

我需要删除存储在 Glacier Vault 中的文件,但 AWS CLI 需要对象 ID,我无法执行正确的命令来获取此 ID。

有人知道使用 AWS CLI 查看文件 ID 的命令吗?

【问题讨论】:

  • 你能告诉我们你试过什么代码吗?
  • 你能给我们看看shell脚本吗?
  • 仅:aws glacier delete-archive --account-id XXXXXX --vault-name XXXX --archive-id ????我不知道如何获取“存档 ID”。在 AWS CLI 文档中,我看不到这个命令来列出 Glacier 中的文件。

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


【解决方案1】:

使用 aws glacier initiate-job 获取 Amazon Glacier 保险库的清单。

来自Amazon Glacier documentation

以下命令启动一个作业以获取库 my-vault 的清单:

aws glacier initiate-job --account-id - --vault-name my-vault --job-parameters '{"Type": "inventory-retrieval"}'

工作完成后,您可以致电aws glacier get-job-output。清单将包括 archive-id(文件在 Glacier 中称为存档)。

这是来自get-job-output documentation 的示例输出:

{"VaultARN":"arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault","InventoryDate":"2015-04-07T00:26:18Z","ArchiveList":[{"ArchiveId":"kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw","ArchiveDescription":"multipart upload test","CreationDate":"2015-04-06T22:24:34Z","Size":3145728,"SHA256TreeHash":"9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67"}]}

【讨论】:

  • 感谢您的回答!!我试试这个选项:D
  • 我试过你的解决方案,但我有:as Amazon Glacier has not yet generated an initial inventory for this vault。我应该等吗?
  • 是的,您需要等待。最长可达 24 小时。
  • 您最多需要等待 24 小时,但仅在上传第一个存档之后。这意味着如果您只是创建一个保管库而不上传存档,您将永远不会获得“库存检索”
  • 启动作业后,检查其状态:aws glacier list-jobs --account-id - --vault-name my-vault。完成后,获取其输出的命令语法为aws glacier get-job-output --account-id - --vault-name my-vault --job-id id outfile
【解决方案2】:

没关系

aws glacier initiate-job --account-id - --vault-name my-vault --job-parameters "{ \"Type\": \"inventory-retrieval\" }"

【讨论】:

    【解决方案3】:

    一个问题是如何引用字符串取决于您使用的是 Linux、Mac、Powershell 还是 Windows。见AWS doc on quoting strings

    对于 Windows 命令提示符,这是可行的:

    aws glacier initiate-job --account-id 123456789012  --vault-name myvault --job-parameters "{\"Type\": \"inventory-retrieval\"}"
    

    对于 PowerShell,在 JSON 周围使用单引号,但仍转义双引号。对于 Linux 和 Mac,您不需要转义双引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      相关资源
      最近更新 更多