S3 PUT 直接发送到 glacier

S3 PUT 直接发送到 glacier

AWS 帖子从 2018 年开始,听起来现在应该可以通过 S3 样式的 PUT 请求在 glacier 中创建档案:

我将其解释为您可以使用 s3 CLI 或 sdk 交互来上传文件,而不是使用特定于 glacier 的 api 或转换文件。这是正确的吗?

我找不到任何关于这实际上如何工作的文档,因为有关 S3 PUT 到 Glacier 的链接只是指向存储类列表。尝试使用 进行了一些实验aws s3 cp,但我不清楚您将使用 bucket/s3 uri 做什么。

有人知道是否支持这种用法吗?

答案1

在进行这些更改之前,需要在 Glacier 中创建一个存档并将文件放置在该存档中。您引用的链接详细说明了 Glacier 现在如何成为 S3 的存储类。您不再需要将文件移动到 Glacier,只需将它们作为存储类GLACIER或上传即可DEEP_ARCHIVE。您还可以通过“权限”选项卡或从命令行更改现有文件的存储类型。

从 AWS CLI,您可以使用类似以下命令:

aws s3 cp /etc/hosts s3://faketest/hosts --storage-class GLACIER

您可以使用以下方式查看存储类别s3api

aws s3api list-objects --bucket faketest

要从控制台执行此操作,请单击“属性”选项卡并选择“GLACIER”

在此处输入图片描述

如果您通过控制台上传文件,也可以类似地设置存储类。

对于现有文件,您可以通过 CLI 使用类似以下命令更改其存储类:

aws s3api copy-object --copy-source faketest/temp.txt --bucket faketest --storage-class GLACIER --key temp.txt

上述命令将现有文件从存储桶复制回同一存储桶,并更改存储类别。可能还有其他方法。

参考

Glacier 常见问题解答
S3 CLI cp
S3 存储类别
s3api 复制对象

相关内容