对象存储 - 无法访问“伦敦”区域中的容器

时间:2016-12-28 20:50:40

标签: java ibm-cloud object-storage

我在“伦敦”地区创建了一个包含仪表板。但是当我尝试访问它时,程序检查 - 显然是默认区域,如同here所述 - 只有区域“达拉斯”,即使我的凭据中的区域是“伦敦”。我试图通过我的程序创建一个容器,容器是在“达拉斯”地区创建的。

如何让我的程序访问“伦敦”地区的容器?有关如何指定该地区的任何建议表示赞赏。

我列出容器的代码如下所示;

final private OSClient os;

public ObjectStorageDAO(String url, String userId, String password, String project, String domainName)
        throws Exception {

    Identifier domainIdentifier = Identifier.byName(domainName);
    Identifier projectIdentifier = Identifier.byName(project);

    os = OSFactory.builderV3().endpoint(url).credentials(userId, password)
            .scopeToProject(projectIdentifier, domainIdentifier).authenticate();
}

/**
 * Returns the list of containers under the account
 */
public List containers() {
    return os.objectStorage().containers().list();
}

1 个答案:

答案 0 :(得分:2)

启动os对象后,你可以尝试强制该区域吗?

final private OSClient os;

public ObjectStorageDAO(String url, String userId, String password, String project, String domainName)
        throws Exception {

    Identifier domainIdentifier = Identifier.byName(domainName);
    Identifier projectIdentifier = Identifier.byName(project);

    os = OSFactory.builderV3().endpoint(url).credentials(userId, password)
            .scopeToProject(projectIdentifier, domainIdentifier).authenticate();

    /////////////////////////
    // force london region //
    /////////////////////////

    os.useRegion('london')
}

/**
 * Returns the list of containers under the account
 */
public List containers() {
    return os.objectStorage().containers().list();
}

有关详细信息,请参阅此处:http://www.openstack4j.com/learn/identity/identity-v3

相关问题