Glacier 和 S3 使用生命周期规则,指定的键不存在
Glacier and S3 using lifecycle rules, specified key does not exist
我对 AWS Glacier 的生命周期规则非常困惑。我的印象是我可以将文件上传到 S3,让它进入冰川,然后从 S3 中删除它,稍后再从冰川中检索它。
我正在为 AWS SDK 使用 clojure 包装器并使用方法 "restore-object"
(aws/restore-object credentials bucket-name _key restore-method)
方法调用似乎是正确的,因为当我在一个尚未存档到 S3 的文件上调用它时,我得到一个错误,指出密钥不是存储 class 冰川。但是当我在一个已经存档和删除的文件上调用它时,消息是
The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: D101BCAC349AF0DA)
因此,S3 中不应存在确切的密钥,因为它已存档。钥匙在哪里?我怎样才能看到哪些键确实存在?
我非常想启动这个反馈循环。使用生命周期规则,我能看到的唯一操作是将规则应用于文件夹,如果到期,文件将在一天后消失,我无法浏览冰川,因为没有 GUI。不确定我是否应该成为 "expiring" 个对象。我假设 "expire" 意味着从 S3 中删除它并使其仅在 Glacier 中可用。进入Glacier后,S3界面会显示"storage class = glacier "吗?
您无法将 S3 对象的存储 class 手动更改为 Glacier,它出现了。我可以更改为减少冗余,调用 restore-object 仍然会导致
Restore is not allowed, as object's storage class is not GLACIER
(Service: Amazon S3; Status Code: 403; Error Code:
InvalidObjectState; Request ID: 85A4913F2CE81872)
那么我究竟应该如何测试呢?
我将尝试通过删除 "expiration" 属性 来测试这一点,希望明天这个时候,存储 class 更改为 "Glacier" 在 S3 中,我可以继续测试。如果有人有任何指示来缩短此反馈的外观,我将非常感激!
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 存储 class 之一(STANDARD
、STANDARD_IA
或 REDUCED_REDUNDANCY
)移动到 GLACIER
存储中时class,此时您拥有的是 S3 为您存储在 Glacier 中的 S3 对象,存储在 S3 拥有和控制的 Glacier 帐户中,您不可见,S3 将为此向您收取 Glacier 存储费用费率。
它仍然是 S3 对象,但具有 GLACIER
存储空间 class。
当您需要访问这些对象之一时,您启动恢复,将对象留在 Glacier 中,并在 S3 中创建一个临时副本,该副本保留在 RRS 中,并且可以下载,直到它在您指定的天数后过期当您请求恢复时。然后它从 RRS 中删除,此时(仍然)在 Glacier 中。
如果您从 S3 中删除该对象,该对象也会从 Glacier 中删除。
如果您有使对象过期的生命周期策略,它们将从 S3 存储它们的任何地方清除,包括 Glacier。如果您从 S3 控制台删除它们,它们将从它们存储的任何位置删除,包括 Glacier。
我对 AWS Glacier 的生命周期规则非常困惑。我的印象是我可以将文件上传到 S3,让它进入冰川,然后从 S3 中删除它,稍后再从冰川中检索它。
我正在为 AWS SDK 使用 clojure 包装器并使用方法 "restore-object"
(aws/restore-object credentials bucket-name _key restore-method)
方法调用似乎是正确的,因为当我在一个尚未存档到 S3 的文件上调用它时,我得到一个错误,指出密钥不是存储 class 冰川。但是当我在一个已经存档和删除的文件上调用它时,消息是
The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: D101BCAC349AF0DA)
因此,S3 中不应存在确切的密钥,因为它已存档。钥匙在哪里?我怎样才能看到哪些键确实存在?
我非常想启动这个反馈循环。使用生命周期规则,我能看到的唯一操作是将规则应用于文件夹,如果到期,文件将在一天后消失,我无法浏览冰川,因为没有 GUI。不确定我是否应该成为 "expiring" 个对象。我假设 "expire" 意味着从 S3 中删除它并使其仅在 Glacier 中可用。进入Glacier后,S3界面会显示"storage class = glacier "吗?
您无法将 S3 对象的存储 class 手动更改为 Glacier,它出现了。我可以更改为减少冗余,调用 restore-object 仍然会导致
Restore is not allowed, as object's storage class is not GLACIER
(Service: Amazon S3; Status Code: 403; Error Code:
InvalidObjectState; Request ID: 85A4913F2CE81872)
那么我究竟应该如何测试呢?
我将尝试通过删除 "expiration" 属性 来测试这一点,希望明天这个时候,存储 class 更改为 "Glacier" 在 S3 中,我可以继续测试。如果有人有任何指示来缩短此反馈的外观,我将非常感激!
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 存储 class 之一(STANDARD
、STANDARD_IA
或 REDUCED_REDUNDANCY
)移动到 GLACIER
存储中时class,此时您拥有的是 S3 为您存储在 Glacier 中的 S3 对象,存储在 S3 拥有和控制的 Glacier 帐户中,您不可见,S3 将为此向您收取 Glacier 存储费用费率。
它仍然是 S3 对象,但具有 GLACIER
存储空间 class。
当您需要访问这些对象之一时,您启动恢复,将对象留在 Glacier 中,并在 S3 中创建一个临时副本,该副本保留在 RRS 中,并且可以下载,直到它在您指定的天数后过期当您请求恢复时。然后它从 RRS 中删除,此时(仍然)在 Glacier 中。
如果您从 S3 中删除该对象,该对象也会从 Glacier 中删除。
如果您有使对象过期的生命周期策略,它们将从 S3 存储它们的任何地方清除,包括 Glacier。如果您从 S3 控制台删除它们,它们将从它们存储的任何位置删除,包括 Glacier。