3

将新资产上传到 CloudFiles 存储时,我想获取此资产的公共 URL(如果容器启用了 CDN)。我发现唯一的方法是向 RackSpace 发出 3 个(是的,三个!)请求:

  1. 验证用户并获取x-auth-token和。x-storage-urlx-cdn-management-url
  2. 获取所有令牌和 URL 后,将文件上传到容器。
  3. x-cdn-management-url向容器的公共 URL发出 HEAD 请求。

我只是想确保每次上传确实需要 3 个请求来获取我刚刚上传的资产的公共 URL。所有操作都必须通过 API 以编程方式执行。

4

2 回答 2

4

我相信一旦你有了容器的 CDN URL,你放入其中的每个对象都会附加到它上面。因此,如果您的容器的 CDN URL 是cdn1.foo.cloudstorage.com,那么您的对象将具有 URL cdn1.foo.cloudstorage.com/object1.extcdn1.foo.cloudstorage.com/object2.ext等。

您只需要三个步骤即可获取初始容器 CDN URL。之后,就很简单了。

于 2013-02-17T08:46:38.107 回答
1

如果您使用的是 Java、PHP 或 Python,请查看其中一个Rackspace SDK。有关如何使用 CDN 的示例,请参见:

  1. Java:CloudFilesPublish.java
  2. PHP:cdn.php
  3. Python:container_cdn.py
于 2013-02-16T23:13:41.450 回答