I'm using [org.apache.jclouds/jclouds-all "1.9.2"] to connect to rackspace's cloudfiles. I'm able to connect, upload, download, etc but everytime I do I get the following warning
org.jclouds.logging.jdk.JDKLogger logWarn
WARNING: failed to find key for value https://identity.api.rackspacecloud.com/v2.0/ in {ORD=https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_b7d2079b-f944-4ed3-8b0a-ae9360a53531, SYD=https://storage101.syd2.clouddrive.com/v1/MossoCloudFS_b7d2079b-f944-4ed3-8b0a-ae9360a53531, IAD=https://storage101.iad3.clouddrive.com/v1/MossoCloudFS_b7d2079b-f944-4ed3-8b0a-ae9360a53531, HKG=https://storage101.hkg1.clouddrive.com/v1/MossoCloudFS_b7d2079b-f944-4ed3-8b0a-ae9360a53531, DFW=https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_b7d2079b-f944-4ed3-8b0a-ae9360a53531}; choosing first: ORD
From reviewing jclouds.blobstore source code, the url value is the default value in the jclouds rackspace-cloudfiles-us configuration. I also see methods for setting regions in java itself. I do not see any direct way in clojure to set these values. If I need to pick another region, I am apparently unable to directly do so in the clojure implementation.
Has anyone else attacked this? Any suggestions on how best to proceed in clojure or do I need to use java interop to do this? Thanks.
Here is the code that uploads the file
(defn upload-file!
[file]
(let [file_id (str (uuid/v1))
file_bytes (file-to-byte-array file)
mimetype (mime-type-of file_bytes)
the-blobstore (blobstore "rackspace-cloudfiles-us" "username" "value")
the-blob-id (put-blob the-blobstore "container-name"
(blob file_id :payload file_bytes :content-type mimetype))]
[file_id the-blob-id mimetype]))