使用JClouds Location API设置容器位置

时间:2013-04-02 18:33:07

标签: rackspace jclouds

我正在使用JClouds来抽象各种云提供商,包括Rackspace。

我使用JClouds的BlobStore存储文件,他们的API建议我可以使用以下方法在特定的(依赖于提供者的)位置创建容器:

context.getBlobStore().createContainerInLocation(location, "containerName");

但是,我应该如何获取位置变量(接口类型为Location)?

例如,RackSpace支持Dallas或Chicago作为容器的位置。所以我想做这样的事情:

 Location dallas = ....; // Get location that points to "US-IL"
 context.getBlobStore().createContainerInLocation(dallas, "container");

“魔术”字符串US-IL取自the source

我试过用这个:

 context.getBlobStore().listAssignableLocations();  // Only contains a single default location
 context.getBlobStore().listAssignableLocations()[0].getParent(); // Not sure what this refers to, scoped at PROVIDER level

任何可以说明我应该如何使用它的人?

相关问题:JClouds for Azure Blob(不适用,因为答案是Azure特定的。这不需要位置...)

1 个答案:

答案 0 :(得分:2)

现在可以在jclouds 1.8.0及更高版本中使用。

RegionScopedBlobStoreContext blobStoreContext = ContextBuilder.newBuilder(PROVIDER)
        .credentials(username, apiKey)
        .buildView(RegionScopedBlobStoreContext.class);
BlobStore blobStore = blobStoreContext.getBlobStore(REGION);