如何将数据附加到 OpenStack Swift 对象存储中的对象?
How can I append data to an Object in OpenStack Swift Object Storage?
目前想要将实时物联网数据流式传输到 OpenStack Swift,但它 seems
不支持这样做——而且 API 似乎只支持原子推送。
有人对此有任何其他经验或解决方法吗?
非常感谢!
目前 OpenStack Swift 不支持附加到对象。社区里有这个蓝图:https://blueprints.launchpad.net/swift/+spec/object-append.
Consider Dynamic Large Objects (DLO) and Static Large Object (SLO) manifests. You can use a number of smaller objects to construct a large object via the concept of segmentation. From OpenStack Large Object Support, “Segments of the larger object are uploaded and a special manifest file is created that, when downloaded, sends all the segments concatenated as a single object.” OpenStack Swift Object Storage does not support appending to a object per se, however it does provide facility for concatenation of existing objects dynamically and statically.
例如,您可以定义一个文件名模式 rawdata_ 并在您的对象存储容器中建立一个 DLO 清单。每当您为此清单发出 get 时,OpenStack swift 将自动连接所有与定义的文件名模式匹配的对象并将其 return 作为单个结果。此清单对象也可以通过 Bluemix Spark 服务笔记本(例如 swift://...)加载,以促进对数据的分析。
虽然清单主要用于支持 > 5 Gb 的对象,但我发现它们对于切片和切块对象以构建不同数量的原始数据或处理不断将原始数据添加到给定容器的批处理非常有用.
我写了一篇关于 Bluemix 服务的对象存储清单的博客 post http://blog.ibmjstart.net/2016/04/14/e-pluribus-unum-creating-openstack-manifest-objects-in-ibm-bluemix-object-storage/,这也可能有助于进一步阐明它们的用途。
希望这对您有所帮助,祝您好运。
目前想要将实时物联网数据流式传输到 OpenStack Swift,但它 seems 不支持这样做——而且 API 似乎只支持原子推送。
有人对此有任何其他经验或解决方法吗?
非常感谢!
目前 OpenStack Swift 不支持附加到对象。社区里有这个蓝图:https://blueprints.launchpad.net/swift/+spec/object-append.
Consider Dynamic Large Objects (DLO) and Static Large Object (SLO) manifests. You can use a number of smaller objects to construct a large object via the concept of segmentation. From OpenStack Large Object Support, “Segments of the larger object are uploaded and a special manifest file is created that, when downloaded, sends all the segments concatenated as a single object.” OpenStack Swift Object Storage does not support appending to a object per se, however it does provide facility for concatenation of existing objects dynamically and statically.
例如,您可以定义一个文件名模式 rawdata_ 并在您的对象存储容器中建立一个 DLO 清单。每当您为此清单发出 get 时,OpenStack swift 将自动连接所有与定义的文件名模式匹配的对象并将其 return 作为单个结果。此清单对象也可以通过 Bluemix Spark 服务笔记本(例如 swift://...)加载,以促进对数据的分析。
虽然清单主要用于支持 > 5 Gb 的对象,但我发现它们对于切片和切块对象以构建不同数量的原始数据或处理不断将原始数据添加到给定容器的批处理非常有用.
我写了一篇关于 Bluemix 服务的对象存储清单的博客 post http://blog.ibmjstart.net/2016/04/14/e-pluribus-unum-creating-openstack-manifest-objects-in-ibm-bluemix-object-storage/,这也可能有助于进一步阐明它们的用途。
希望这对您有所帮助,祝您好运。