目前想要将实时物联网数据流式传输到 OpenStack Swift,但似乎 不支持这样做 - API似乎只支持原子推送。
有没有人有任何其他经验或任何解决方法?
非常感谢!
考虑动态大对象 (DLO) 和静态大对象 (SLO) 清单。您可以通过分割的概念使用许多较小的对象来构造一个大对象。来自 OpenStack 大对象支持,“较大对象的分段被上传,并创建一个特殊的清单文件,下载时,将所有分段连接为一个对象。” OpenStack Swift 对象存储本身不支持附加到对象,但它确实为现有对象的动态和静态连接提供了便利。
例如,您可以定义文件名模式rawdata_并在对象存储容器中建立 DLO 清单。每当您为此清单发出 get 时,OpenStack swift 将自动连接与定义的文件名模式匹配的所有对象并将其作为单个结果返回。该清单对象也可以通过 Bluemix Spark 服务笔记本(例如 swift://...)加载,以促进对数据的分析。
虽然清单主要用于支持 > 5 Gb 的对象,但我发现它们对于对对象进行切片和切块以构造不同数量的原始数据或处理不断将原始数据添加到给定容器的批处理过程非常有用。
我写了一篇关于 Bluemix 服务的对象存储清单的博客文章 @ http://blog.ibmjstart.net/2016/04/14/e-pluribus-unum-creating-openstack-manifest-objects-in-ibm- bluemix-object-storage/这也可能有助于更多地了解它们的用处。
希望这会有所帮助,祝你好运。
目前在 OpenStack Swift 中不支持附加到对象。社区里有这个蓝图:https://blueprints.launchpad.net/swift/+spec/object-append。