2013-06-23 4 views
2

Rackspace 클라우드 파일 계정에 액세스하기 위해 Java jclouds API를 사용하고 있습니다.Rackspace 클라우드 파일 API에서 개체의 링크 받기

컨테이너를 작성하고 나열하고 객체를 업로드 할 수는 있지만 업로드 된 객체에 대한 공개 링크를 얻는 방법을 알 수 없습니다. (이 공용 링크는 Rackspace 제어판에서 개체를 마우스 오른쪽 단추로 클릭하면 볼 수 있습니다. HTTP, HTTPS, 스트리밍, iOS 스트리밍 등 4 가지 유형이 있습니다.

내가 얻을 수있는 가장 가까운 것은 object.getInfo()를 사용하여 객체의 메타 데이터를 가져 오는 것입니다. 여기에는 URI가 포함되지만 이는 제어판에서 찾은 공개 링크와 유사하지 않습니다.

누구나 내가 뭘 잘못하고 있는지 알아?

답변

1

내가 그것을 알아 냈 ...

첫째, 나는하지 개체에서 개체의 컨테이너의 공용 URI를 얻어야한다.

그런 다음 CloudFilesClient 개체를 사용합니다. 컨테이너에 내가 사용해야합니다 getCDNMetadata("containername").getCDNUri()

0

자세한 정보 및 특정 파일 CDN 주소를 얻는 데 필요한 몇 가지 샘플 코드가 있습니다. 거기에서

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

당신이 용기 조회 할 수 있습니다 : 그 CDNContainer로 지금

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

https://developer.rackspace.com/docs/cloud-files/quickstart/?lang=java

먼저 클라우드 파일 API를 얻을 : 당신은 자바 가이드를 체크 아웃 할 수 있습니다 자세한 내용은 필요한 특정 웹 주소를 얻을 수 있습니다.

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

그러면 컨테이너의 기본 URI가 표시됩니다. 이제 특정 파일의 최종 주소를 얻으려면 주소 끝에 /{"your_file_name.extension "}을 추가해야합니다. 이처럼 보일 수 있습니다 내 기본 URI는 문자열에 다음 URL로 변환 된 경우 예를 들어 :

: 여기에서

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

나는 이름 아래의 주소와 example.mp4있는 파일을 얻을 수 있습니다

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

이 모두는 사용자가 이미 컨테이너에서 CDN을 사용할 수 있다고 가정합니다.

관련 문제