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

FIWARE object storage GE: Different type of responses obtained when downloading an image object

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

尽管如此,我在从容器下载 object 时发现了一个奇怪的行为。

请在下面找到重现该奇怪行为的过程:

  1. 我上传两个object("gonzo.png"和"elmo.png")到容器"photos"

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

    1.2。稍后,按照 Object Storage GE 程序员指南中的说明,我以编程方式(或在独立 Rest Client 的帮助下)上传 object "elmo.png"

  2. 我从容器"photos"

    下载objects

    2.1 首先,按照Object Storage GE 程序员指南中的说明,我成功下载了object "gonzo.png"。 web服务响应body就是这样object.

    的二进制内容

    2.2。稍后,按照与步骤 2.1 中相同的说明,我尝试下载 object "elmo.png"。现在网络服务响应 body 是一个 json 元数据和 object.

  3. 的二进制内容

如何才能收到两个 object 的标准响应 body?二进制或 json。

如果 object 最初是通过云 UI 或通过外部工具(程序或 rest 客户端)上传的,为什么我会得到不同的响应?

Download blob from fiware object-storage 我已经尝试设置 header response_type: text 并且行为相同。

那里有很多对象存储,具有不同的 API。 对象存储 GE 最初是基于 CDMI API [1]。 目前,它基于 Openstack Swift [2]。 云门户仍然使用一些 CDMI 功能,特别是它可能对某些类型的对象进行 64 位编码,在这种情况下,对象内容是 json,其中包含元数据和数据的 base64 编码。我怀疑这就是您使用云创建的对象发生的情况 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 示例也使用原生 API.

[1] google 用于 SNIA CDMI。少于 10 个 replutation 我不能放太多链接 [2] google 用于 Openstack Swift