【发布时间】:2017-11-23 19:13:11
【问题描述】:
我很难使用 OpenStack4j 库(版本 3.1.0)从外部 Java 应用程序对 IBM Cloud 中的对象存储服务进行身份验证。以下是我的尝试:
Identifier domainIdentifier = Identifier.byName("DOMAIN");
Identifier projectIdentifier= Identifier.byName("PROJECT");
OSClient.OSClientV3 os = OSFactory.builderV3()
.endpoint("https://identity.open.softlayer.com/v3")
.credentials("USER", "PASS")
.scopeToProject(projectIdentifier, domainIdentifier)
.authenticate();
参考资料:
https://github.com/acloudfan/IBM-Object-Storage-Sample/
https://github.com/ibm-bluemix-mobile-services/bluemix-objectstorage-sample-liberty
问题似乎是我无法弄清楚从哪里获取上述 DOMAIN 和 PROJECT 信息,也许还有端点。文档说要从 Service Credentials 和 View Credentials 下的 Object Storage 页面获取它们。我确实看到带有以下字段的 JSON 输出:
{
"apikey": "...",
"endpoints": "...",
"iam_apikey_description": "...",
"iam_apikey_name": "...",
"iam_role_crn": "...",
"iam_serviceid_crn": "...",
"resource_instance_id": "..."
}
这些似乎都与域或项目信息无关,至少在名称上是这样。我什至创建了一个带有对象存储连接器的单独 Web 应用程序,并尝试从环境变量页面获取信息,正如一些文档所建议的那样,但没有运气。
我最终想要实现的是能够将文件提取到我创建的容器中,并使用顶部的数据和分析服务(数据科学体验)。
【问题讨论】:
标签: java ibm-cloud object-storage openstack4j