在Java中使用云文件api时是否可以使用servicenet ?目前我使用它如下:
ContextBuilder cb = ContextBuilder.newBuilder(config.getProvider())
.credentials(config.getUserName(), config.getApiKey()).modules(modules);
CloudFilesApi cfa = cb.buildApi(CloudFilesApi.class);
我问这个问题是因为我曾经使用python客户端,它有一个布尔参数来选择是使用公共网络还是服务网络:
cf = pyrax.connect_to_cloudfiles(region=CDN_REGION, public=CDN_USEPUBLIC)
Iterable<Module> modules = ImmutableSet.<Module> of(new SLF4JLoggingModule(),
new InternalUrlModule());
ContextBuilder builder = ContextBuilder.newBuilder(PROVIDER)
.modules(modules)
.credentials(username, apiKey);
blobStore = builder.buildView(RegionScopedBlobStoreContext.class).getBlobStore(REGION);
cloudFiles = blobStore.getContext().unwrapApi(CloudFilesApi.class);
你需要确保将InternalUrlModule添加到模块列表中。这反过来将使jclouds在连接到服务时使用适用的ServiceNet端点。