2014-03-06 30 views
1

我有应用程序(应用程序A),每2秒将图像推送到某个SWIFT容器。图像名称是一个时间戳。OpenStack Swift - 别名,存储对象的符号链接

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

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

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

我必须做2个额外的操作(复制和删除)。

有没有更优雅的解决方案?

回答

3

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

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

最好说容器是:备份和backup_versions.Also你必须链接他们为了告诉swift哪个是容器存储文件版本。

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

希望这会帮助你。

+0

Intresting tweek。实际上,我们使用OpenStack移动了我们的解决方案表单。但我注意到你的评论!谢谢 – Yev