OpenStack Swift - 别名,存储对象的符号链接

时间:2014-03-06 18:16:48

标签: alias symlink openstack openstack-swift

我有一个应用程序(App A),它将每2秒的图像推送到某个SWIFT容器。图像名称是时间戳。

另一个应用程序(应用B)应该获取最后一个容器图像并将其显示在标记中。

问题是应用B不知道最后一个时间戳是什么。

我的第一种方法是模拟符号链接或别名 - 我总是推送last.png文件(之前我发出一个复制命令来重命名已存在于swift last.png中)。

我必须进行2次额外的操作(复制和删除)。

还有更优雅的解决方案吗?

1 个答案:

答案 0 :(得分:3)

您是否尝试过使用swift API的版本控制功能?

Swift处理两个容器,一个存储旧版本,自动以时间戳后缀命名,另一个存储最新版本的文件。

不要说容器是:backup和backup_versions。你还要链接它们以告诉swift哪个容器存储文件版本。

因此,每次上传文件时,swift都会自动处理该过程。在下载时,您只需要从备份容器中下载该文件,该文件将是该文件的最新版本,并且无需知道时间戳,因为您只需要该名称。

希望这会对你有所帮助。