簡體   English   中英

在Rackspace雲文件API中獲取對象的鏈接

[英]Getting an object's links in Rackspace cloud files API

我正在使用Java jclouds API訪問我的Rackspace雲文件帳戶。

我可以創建和列出容器,以及上載對象,但是我不知道如何獲取上載對象的公共鏈接。 (通過右鍵單擊對象,我可以從Rackspace控制面板中看到這些公共鏈接-有4種類型:HTTP,HTTPS,Streaming,iOS Streaming)。

我可以得到的最接近的方法是使用object.getInfo()獲取對象的元數據。 這包括一個URI,但這與我在控制面板中找到的公共鏈接不一樣。

有人知道我在做什么錯嗎?

我想到了...

首先,我應該從對象中獲取對象容器的公共URI。

然后,我使用CloudFilesClient對象。 在容器上,我需要使用getCDNMetadata("containername").getCDNUri()

這是更多信息和一些示例代碼,用於獲取特定的文件CDN地址。 有關更多詳細信息,您可以查看Java指南: https : //developer.rackspace.com/docs/cloud-files/quickstart/?lang= java

首先獲取雲文件api:

    CloudFilesApi cloudFilesApi = ContextBuilder.newBuilder("rackspace-cloudfiles-us")
        .credentials("{username}", "{apiKey}")
        .buildApi(CloudFilesApi.class);

從那里可以查詢容器:

    CDNApi cdnApi = cloudFilesApi.getCDNApi("{region}");
    CDNContainer cdnContainer = cdnApi.get("{containerName}");

現在,通過該CDNContainer,您可以獲取所需的特定網址:

    URI httpURI = cdnContainer.getUri();
    URI httpsURI = cdnContainer.getSslUri();

這將為您提供容器的基本URI。 現在,要獲取特定文件的最終地址,您需要在地址末尾附加/{"your_file_name.extension“} 例如,如果我的基本URI轉換為URL,然后轉換為String,則它可能類似於:

    http://123456asdf-qwert987653.rackcdn.com/

從這里我可以得到一個名為example.mp4的文件,其地址如下:

    http://123456asdf-qwert987653.rackcdn.com/example.mp4

所有這些都假定您已經在容器上啟用了CDN。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM