Amazon web services 使用API以编程方式在AmazonS3和Glacier之间移动文件,反之亦然
我正在使用Amazon的S3和glacier服务创建一个基于PHP的web应用程序 现在我想给我的网站用户一个功能,他们可以选择任何文件并将其归档(意味着将文件从S3移动到Glacier)和取消归档(意味着将文件从Glacier移动到S3) 我做了一些研究,并没有找到任何可能的方式使用亚马逊的API 问题Amazon web services 使用API以编程方式在AmazonS3和Glacier之间移动文件,反之亦然,amazon-web-services,amazon-s3,amazon-glacier,Amazon Web Services,Amazon S3,Amazon Glacier,我正在使用Amazon的S3和glacier服务创建一个基于PHP的web应用程序 现在我想给我的网站用户一个功能,他们可以选择任何文件并将其归档(意味着将文件从S3移动到Glacier)和取消归档(意味着将文件从Glacier移动到S3) 我做了一些研究,并没有找到任何可能的方式使用亚马逊的API 问题 如何使用API在S3和glacier之间移动文件?您可以使用API定义将文件从Amazon S3归档到Amazon glacier的生命周期规则,还可以使用API检索归档到glacier的文件
如何使用API在S3和glacier之间移动文件?您可以使用API定义将文件从Amazon S3归档到Amazon glacier的生命周期规则,还可以使用API检索归档到glacier的文件的临时副本。但是,您不能使用API告诉AmazonS3将特定文件移动到Glacier中 使用亚马逊冰川有两种方法:
AmazonS3有一个(可在PHPSDK中获得)用于将从Glacier归档的数据的临时副本恢复到S3中。请注意,从冰川恢复数据需要3-5个小时您可以使用冰川API将文件上载到冰川库,但我不建议这样做。我们以前的版本就是这样做的。当你上传一个文件时,它会得到一个随机分配的名称。您可以将文件名添加到文件的元数据中,但如果您想要一个冰川库中的内容列表,您必须查询,然后等待3-5个小时 生命周期政策是使用冰川的另一种方式。当前版本的Arq使用它们是因为每个对象看起来仍然像S3对象(没有随机对象名称,获取对象列表时没有延迟),但对象内容在冰川存储器中。唯一的区别是获取对象内容需要两个步骤:您必须调用API;当它准备好了,你就可以开始了。此外,如果您请求对象以过快的速度下载,则会产生“每小时峰值请求费”。这很复杂 一旦对象是“冰川存储类”,就无法将其更改回“标准存储类”。您必须复制“标准存储类”的对象,并删除冰川对象 因此,解决您的问题的一个简单方法可能是:
您看过S3生命周期配置的API了吗?我已经用pythonboto完成了。不太清楚PHP。这个问题给人的印象是,首先,您需要更全面地了解S3的冰川集成在概念层面上是如何工作的。。。手动迁移到Glacier不是一件事,当文件从Glacier恢复到S3时,这是暂时的;它们仍然存储在冰川中,而不是移回S3。嗨,John,我遇到了同样的问题,请看看我的问题,文件的当前位置是否有目的和意义(例如,带有硬编码S3位置清单的红移转储),然后可以创建指向前缀的生命周期策略,如果不希望所有内容都位于该前缀下,也可以为生命周期策略指定标记。