2

Rackspace を含むさまざまなクラウド プロバイダーを抽象化するために JClouds を使用しています。

JClouds の BlobStore を使用してファイルを保存しています。その API は、次を使用して特定の (プロバイダーに依存する) 場所にコンテナーを作成できることを示唆しています。

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

しかし、(インターフェイス タイプ Location の) location 変数を取得するにはどうすればよいでしょうか?

たとえば、RackSpace はコンテナの場所としてダラスまたはシカゴをサポートしています。だから私はこのようなことをしたいと思います:

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

「魔法の」文字列 US-IL はソースから取得されました。

私はこれを使ってみました:

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

これをどのように使用すべきかについて光を当てることができる人はいますか?

関連する質問: Azure Blob の JClouds (回答は Azure 固有のものであるため、該当しません。場所は必要ありません...)

4

1 に答える 1

2

これは、jclouds 1.8.0 以降で可能になりました。

RegionScopedBlobStoreContext blobStoreContext = ContextBuilder.newBuilder(PROVIDER)
        .credentials(username, apiKey)
        .buildView(RegionScopedBlobStoreContext.class);
BlobStore blobStore = blobStoreContext.getBlobStore(REGION);
于 2013-04-03T22:23:08.247 に答える