gpt4 book ai didi

java - Rackspace 云文件(使用 jclouds)——如何获取容器位置

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:19 24 4
gpt4 key购买 nike

我使用 jclouds 作为 Rackspace 云文件的 API。

Api 允许我使用 BlobStore.createContainerInLocation 在不同位置创建容器

现在,有了已经存在的容器,我该如何获取它的位置?

最佳答案

您可以遍历 Rackspace 区域以获取 Cloud Files 端点,然后您可以查询每个端点以查看容器是否存在于那里。类似于以下内容:

package org.jclouds.examples.rackspace.cloudfiles;

import static org.jclouds.examples.rackspace.cloudfiles.Constants.PROVIDER;

import java.io.IOException; import java.util.Set;

import org.jclouds.ContextBuilder;
import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
import org.jclouds.blobstore.BlobStore;

public class GetRegion{
private final RegionScopedBlobStoreContext ctx;
private final String YOUR_CONTAINER = "YOUR_CONTAINER_HERE";
public static void main(String[] args) throws IOException {
GetRegion getRegion = new GetRegion(args[0], args[1]);
try {
getRegion.getRegion();
}
catch (Exception e) {
e.printStackTrace();
}
}

public GetRegion(String username, String apiKey) {
ctx = ContextBuilder.newBuilder(PROVIDER)
.credentials(username, apiKey)
.buildView(RegionScopedBlobStoreContext.class);
}

private void getRegion() {
Set<String> regions = ctx.configuredRegions();
for(String region:regions){
BlobStore store = ctx.blobStoreInRegion(region);
if(store.containerExists(YOUR_CONTAINER)) {
System.out.format("Container is in %s region\n", region);
}
}
}
}

要运行,请将“YOUR_CONTAINER_HERE”替换为容器名称,并将您的 Rackspace 用户名和 API key 作为命令行参数传递(或者,将它们硬编码为“args[0]”和“args[1]” ',分别)。

关于java - Rackspace 云文件(使用 jclouds)——如何获取容器位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23509702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com