当前位置:  开发笔记 > 人工智能 > 正文

如何在启用保管库锁定的情况下将对象从Amazon S3移动到Glacier?

如何解决《如何在启用保管库锁定的情况下将对象从AmazonS3移动到Glacier?》经验,为你挑选了1个好方法。

我正在寻找一种在启用保管库锁定的情况下将Amazon S3对象移动到Glacier的解决方案(如此处所述https://aws.amazon.com/blogs/aws/glacier-vault-lock/)。如果可能的话,我想使用Amazon内置的工具(生命周期管理或其他工具)。

我找不到任何说明或选项来做到这一点。S3似乎只允许将对象移动到Glacier存储类。但这既不能提供数据完整性,也不能防御数据丢失。

我知道我可以用一个程序来做。它将下载S3对象,并将其通过各自的REST API移至Glacier。对于这个简单的任务,这种方法似乎太复杂了。



1> Michael - sq..:

这样看待它:

Glacier是AWS的服务。

S3是AWS的服务。

但是S3也是Glacier服务的客户

当您将S3中的对象迁移到Glacier存储类时,S3使用S3拥有的AWS帐户将对象存储在Glacier ...中。

S3中使用 GLACIER存储类的不在“您的” Glacier保管库中,而是在S3拥有的保管库中。

这与外部可观察的证据一致:

您无法从Glacier控制台在保管库中看到这些S3对象。

你不必给S3任何IAM访问权限的冰川(相比之下,你必须给S3权限发布事件通知SQS,SNS,或λ)

Glacier不会为Glacier存储类对象向您收费-S3会向您收费。

因此,您要完成的工作完全不同。你想一些档案存放在你的冰川库,与政策,而且内容目前只是“碰巧”在目前存储在S3。

解决方案是从S3下载然后上传到Glacier。

但这既不能提供数据完整性,也不能防御数据丢失。

当上传到Glacier时,可以确保有效载荷的完整性,因为树哈希算法可有效防止损坏的上传。

从S3下载,除非使用SSE-C存储对象,否则如果使用单部分上传,则ETag是存储对象的MD5哈希值,或者是ETag是串联的二进制编码MD5哈希值的十六进制编码MD5哈希值。零件数,然后是-和零件数。理想情况下,当上传到S3时,应在对象元数据中存储更好的哈希值(例如sha256),例如x-amz-meta-content-sha256

防御数据丢失-是的,Glacier确实在此处提供了更多功能,但是S3并非在这里完全没有能力:具有匹配DENY操作的存储桶策略将始终覆盖任何冲突的ALLOW操作,无论是在存储桶策略中还是在任何其他IAM策略中(例如角色,用户)。

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有