gpt4 book ai didi

java - 无法使用最新的 OpenStack 验证 Swift ContextBuilder

转载 作者:行者123 更新时间:2023-12-02 11:19:17 24 4
gpt4 key购买 nike

我已经安装了最新的OpenStack,并且正在使用Java和jclouds SDK与OpenStack Swift交互,在我使用的OpenStack环境中,身份API版本是/identity/v3/ Swift API 版本是 v1/,我的代码是:

blobContext = ContextBuilder.newBuilder(PROVIDER)
.credentials(username, apiKey)
.endpoint(EndPoint)
.overrides(multipartProperties)
//.buildApi(RegionScopedBlobStoreContext.class);
.buildView(RegionScopedBlobStoreContext.class);
String blobRegion = blobContext.getConfiguredRegions().iterator().next();

所以在该行 String blobRegion = blobContext.getConfiguredRegions().iterator().next(); 我得到了异常:

request: POST http://devstack.####.com:#####/v1/tokens HTTP/1.1  [Sensitive data in payload, use jclouds.wire.log.sensitive override to enable logging this data.] failed with response: HTTP/1.1 401 Unauthorized

这段代码过去可以工作,但过去我没有使用最新的 OpenStack,重要的是我的身份服务是项目范围而不是域-范围(请参阅this link)Swift API 是:http://devstack.####.com:######/v1/我正在使用最新的 jclouds API

我相信这个问题会出现在所有ContextBuilder中,那么我是否可以解决这个问题?

谢谢

最佳答案

要在新的 OpenStack 环境(运行 Keystone v3)中使用 jclouds,您必须使用 jclouds >= 2.1.0 并使用适当的 Keystone 属性配置 ContextBuilder,如下所示: https://jclouds.apache.org/blog/2018/01/16/keystone-v3/

关于java - 无法使用最新的 OpenStack 验证 Swift ContextBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50046237/

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