Rackspace CloudFile API - 获取对象信息

时间:2015-12-29 07:00:33

标签: openstack rackspace-cloud rackspace openstack-swift rackspace-cloudfiles

所以,这就是我正在使用的API:

  1. Auth(从“对象存储”获取我需要的特定区域的令牌和publicUrl)

  2. 使用端点中的publicUrl来获取文件列表: 获取[publicUrl] / [container] 这将返回一个数组,其中每个项(对象)如下所示:

    (     [hash] => 7213ee9a7d9dc119d2921a40e899ec5e     [last_modified] => 2015-12-29T02:46:08.400490     [bytes] => 1     [name] =>某种类型的文件name.jpg     [content_type] =>应用程序/后记 )

  3. 现在,如何构建url以对项目(对象)执行GET操作?我尝试了以下内容:

    [publicUrl] / [容器] / [散列] [publicUrl] / [容器] / urlencoded进行([名称])

    除了其他没有意义的事情,但无论如何我都试过了。

    任何想法/帮助都将不胜感激!

1 个答案:

答案 0 :(得分:3)

如果您使用的是Rackspace SDK,则可以自行跳过构建网址。

以下是retrieving a Cloud Files object using a public URL的文档。对象URL是容器的公共URL(在X-Cdn-Uri响应头中找到)与附加的对象名称的组合。

例如,对于名为“foo”的容器,将经过身份验证的HEAD请求发送到API:

HEAD {cloudFilesEndpoint}/foo

在回复中,容器的公共URL位于“X-Cdn-Uri”标题中:

HTTP/1.1 204 No Content
X-Cdn-Ssl-Uri: https://83c49b9a2f7ad18250b3-346eb45fd42c58ca13011d659bfc1ac1.ssl.cf0.rackcdn.com
X-Ttl: 259200
X-Cdn-Uri: http://081e40d3ee1cec5f77bf-346eb45fd42c58ca13011d659bfc1ac1.r49.cf0.rackcdn.com
X-Cdn-Enabled: True
X-Log-Retention: False
X-Cdn-Streaming-Uri: http://084cc2790632ccee0a12-346eb45fd42c58ca13011d659bfc1ac1.r49.stream.cf0.rackcdn.com
X-Trans-Id: tx82a6752e00424edb9c46fa2573132e2c
Content-Length: 0

现在,对于名为“styles / site.css”的对象,将该名称附加到公共URL,从而生成以下URL:

http://081e40d3ee1cec5f77bf-346eb45fd42c58ca13011d659bfc1ac1.r49.cf0.rackcdn.com/styles/site.css