对象存储 - 无法访问区域 "London" 中的容器

Object Storage - Can't access container in region "London"

我在区域 "London" 中创建了一个 contained through 仪表板。但是,当我尝试访问它时,程序会检查 - 显然是默认区域,如 here 所述 - 仅检查区域 "Dallas",即使我凭据中的区域是 "London"。我试图通过我的程序创建一个容器,并且该容器是在区域 "Dallas" 中创建的。

如何让我的程序访问区域"London"中的容器?任何有关如何指定区域的建议都将受到赞赏。

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

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();
}

初始化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