amazon-s3 - Glacier和S3使用生命周期规则,指定的键不存在

标签 amazon-s3 amazon-glacier

我对 AWS Glacier 的生命周期规则感到非常困惑。我的印象是我可以将文件上传到 S3,将其发送到 glacier,然后从 S3 中将其删除,然后再从 glacier 中检索它。

我正在使用 AWS SDK 的 clojure 包装器并使用方法“restore-object” (aws/恢复对象凭证存储桶名称_ key 恢复方法)

该方法调用似乎是正确的,因为当我在尚未存档到 S3 的文件上调用它时,我收到一条错误消息,指出 key 不是存储类 glacier 的。但是当我在已经存档和删除的文件上调用它时,消息是

指定的键不存在。 (服务:Amazon S3;状态代码:404;错误代码:NoSuchKey;请求 ID:D101BCAC349AF0DA)

因此, key 不应该存在于 S3 中,因为它已存档。 key 在哪里?我怎样才能看到哪些键确实存在?

enter image description here

我非常想启动这个反馈循环。使用生命周期规则,我能看到的唯一操作是将规则应用于文件夹,如果过期,文件会在一天后消失,我无法浏览 Glacier,因为没有 GUI。不确定我是否应该是“过期”的对象。我认为“过期”意味着将其从 S3 中删除并使其仅在 Glacier 中可用。进入Glacier后,S3界面中会显示“存储类别=glacier”吗?

看来,您无法手动将 S3 对象的存储类别更改为 Glacier。我可以更改为减少冗余,调用恢复对象仍然会导致

不允许恢复,因为对象的存储类别不是 GLACIER (服务:Amazon S3;状态代码:403;错误代码: 无效对象状态;请求 ID:85A4913F2CE81872)

那么我到底应该如何测试这个呢?

我将尝试通过删除“过期”属性来测试这一点,并祈祷明天这个时候,S3 中的存储类别更改为“Glacier”,我可以继续测试。如果有人有任何指示可以缩短此反馈外观,我将非常感激!

最佳答案

I was under the impression I could upload a file to S3, have it go to glacier, and then delete it from S3 and retrieve it from glacier later.

没有。

当 S3 将对象从 S3 存储类之一(STANDARDSTANDARD_IAREDUCED_REDUNDANCY)移动到 GLACIER 时 存储类,此时您拥有的是 S3 已在 Glacier 中为您存储的 S3 对象,位于 S3 拥有和控制的 Glacier 帐户中,该对象对您不可见,S3 将向您收取 Glacier 费用存储率。

它仍然是一个 S3 对象,但具有 GLACIER 存储类别。

当您需要访问这些对象之一时,您可以启动恢复,这会将对象保留在 Glacier 中,并在 S3 中制作一个临时副本,该副本将保留在 RRS 中并可下载,直到您指定的天数后该副本过期为止。请求恢复。然后它从 RRS 中删除,此时(仍然)位于 Glacier 中。

如果您从 S3 中删除该对象,该对象也会从 Glacier 中删除。

如果您有使对象过期的生命周期策略,则它们将从 S3 存储它们的任何位置(包括 Glacier)中清除。如果您从 S3 控制台删除它们,它们也会从存储的任何位置删除,包括 Glacier。

关于amazon-s3 - Glacier和S3使用生命周期规则,指定的键不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47761703/

相关文章:

java - 连接到 Amazon S3 时出现 HttpHostConnection 拒绝错误

node.js - 使用 putObject 时 S3 文件损坏

amazon-web-services - 更新 aws cloudFormation 上的堆栈 - 错误

amazon-web-services - 如何从 Glacier 将文件夹(或整个存储桶)恢复到 Amazon S3?

amazon-web-services - 归档到亚马逊 AWS 的冰川存储并从中检索

html - 如何将 React 应用程序合并到具有现有 HTML 结构的现有网站中

amazon-s3 - 在S3存储桶之间复制时抛出"AllAccessDisabled: All access to this object has been disabled"错误

amazon-web-services - AWS 存储 : S3 object go to Glacier if never accessed in the last month

amazon-web-services - AWS S3 Glacier - 以编程方式启动还原

amazon-web-services - 我的 AWS CLI 配置有什么问题?