FIWARE对象存储GE:下载图像对象时获得的不同类型的响应

时间:2016-03-09 13:41:40

标签: object storage fiware

我可以有效地利用我的FIWARE帐户上可用于对象存储的所有操作。

尽管如此,我从容器中下载对象时发现了一种奇怪的行为。

请在下面找到重现这种奇怪行为的程序:

  1. 我将两个对象(“gonzo.png”和“elmo.png”)上传到容器“photos”

    1.1。首先,通过云UI(https://cloud.lab.fiware.org/#objectstorage/containers/)我手动上传对象“gonzo.png”

    1.2。稍后,按照对象存储GE程序员指南中的说明,我以编程方式(或在独立的Rest Client的帮助下)上传对象“elmo.png”

  2. 我从容器“photos”

    下载对象

    2.1首先,按照对象存储GE程序员指南中的说明,我成功下载了对象“gonzo.png”。 webservice响应主体是此类对象的二进制内容。

    2.2。稍后,按照步骤2.1中的相同说明,我尝试下载对象“elmo.png”。现在,webservice响应主体是一个带有元数据的json和对象的二进制内容。

  3. 我能做什么才能获得两个对象的标准响应体?无论是二元还是json。

    如果最初通过Cloud UI或外部工具(程序或休息客户端)上传对象,为什么会得到不同的响应?

    Download blob from fiware object-storage中一样,我已经尝试设置标题 response_type:text ,但行为是相同的。

1 个答案:

答案 0 :(得分:0)

有许多对象存储,具有不同的API。 Object Storage GE最初基于CDMI API [1]。 目前,它基于Openstack Swift [2]。 Cloud Portal仍然使用一些CDMI功能,特别是它可以对某些类型的对象进行64位编码,在这种情况下,对象内容是包含元数据和数据的base64编码的json。我怀疑这是您使用云UI创建的对象所发生的事情。

因此,请使用Swift本机API进行所有操作。 API在此处有详细记录:http://developer.openstack.org/api-ref-objectstorage-v1.html 程序员指南(https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/Object_Storage_-_User_and_Programmers_Guide)中的python示例也使用Native API。

[1]谷歌搜索SNIA CDMI。少于10次重复,我不能放太多链接 [2] google for Openstack Swift