我正在开发一个使用 Amazon S3 和 Glacier 进行文件存储的应用程序。要求是我想将文件从 S3 移到冰川,并在需要时从冰川移回 S3。我的问题是他们的 PHP API 真的可能吗?
最佳答案
您可以使用 API 定义将文件从 Amazon S3 存档到 Amazon Glacier 的生命周期规则,并且您可以使用 API 检索存档到 Glacier 的文件的临时副本。但是,您不能使用 API 告诉 Amazon S3 将 特定文件 移动到 Glacier。
有两种使用 Amazon Glacier 的方法:
通过 Glacier API 直接连接 允许您存储文件以进行长期存储,通常用作磁带的替代品。通过 Glacier API 存储的数据也必须通过 Glacier API 检索。这通常使用普通的企业备份软件或什至是 Cloudberry Backup (Windows) 或 Arq (Mac) 等轻量级产品来完成。
使用 Amazon S3 生命周期规则 允许您将数据存储在 Amazon S3 中,然后定义规则来确定何时应将数据存档到 Glacier 以进行长期存储。例如,数据可以在创建 90 天后存档。数据传输由 lifecycle rules 管理,它每天批量运行。可以通过 putBucketLifecycle API call (在 PHP SDK 中可用)设置规则,但这仅定义了规则——无法进行 API 调用来告诉 S3 将特定文件存档到 Glacier。
Amazon S3 有一个 RestoreObject API call(在 PHP SDK 中可用),用于将从 Glacier 存档的数据的临时副本恢复到 S3。请注意,从 Glacier 恢复数据需要 3-5 小时 。
关于php - 亚马逊通过 API 将文件从 S3 移动到 Glacier,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27098020/