2

Alors, voici ce que je fais avec l'API:API Rackspace CloudFile - Récupère l'objet d'informations

  1. Auth (pour obtenir jeton et publicUrl pour la région particulière dont j'ai besoin du « magasin d'objets »)

  2. Utilisez le publicUrl du point final comme pour ainsi obtenir une liste des fichiers: GET [publicUrl]/[récipient] Ce retourne un tableau où chaque élément (objet) se présente comme suit:

    ( [hachage] => 7213ee9a7d9dc119d2921a40e899ec5e [last_modified] => 2015-12-29T02: 46: 08,400490 [octets] => 1 [name] => Un certain type de fichier name.jpg [content_type] => application/postscript )

maintenant, comment puis-je construire l'URL pour faire un GET sur l'élément (objet)? Je l'ai essayé ce qui suit:

[publicUrl]/[contenant]/[hachage] [publicUrl]/[récipient]/urlencoded ([nom])

entre autres choses qui ne font pas de sens , mais j'ai essayé quand même.

Toute idée/aide serait appréciée!

+0

Quelle langue utilisez-vous? Utilisez-vous un SDK ou utilisez-vous directement l'API? –

Répondre

3

Si vous utilisez un Rackspace SDK, vous pouvez ignorer la construction des URL vous-même.

Voici la documentation pour retrieving a Cloud Files object using a public URL. L'URL de l'objet est la combinaison de l'URL publique du conteneur (trouvée dans l'en-tête de réponse X-Cdn-Uri) avec le nom de l'objet ajouté.

Par exemple, pour un conteneur nommé 'foo', envoyer une requête HEAD authentifié à l'API:

HEAD {cloudFilesEndpoint}/foo 

Dans la réponse, l'URL publique du conteneur est dans l'en-tête '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 

maintenant, pour un objet nommé 'styles/site.css', ajoutez ce nom à l'URL publique, ce qui l'adresse suivante:

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

Merci pour la réponse. Est-ce la même chose pour les conteneurs qui ne sont pas compatibles CDN? –

+0

Si vous souhaitez que l'objet soit publiquement accessible, le conteneur doit être compatible CDN. [Les objets dans des conteneurs privés ne sont accessibles qu'avec une requête GET authentifiée] (https://developer.rackspace.com/docs/cloud-files/v1/developer-guide/#retrieving-an-object). –

+0

Donc, je * m'authentifie * en utilisant l'apikey, et envoie le jeton dans les requêtes suivantes. –