gpt4 book ai didi

java - 使用 OpenStack4j 向 IBM 对象存储进行身份验证

转载 作者:行者123 更新时间:2023-11-30 06:24:37 25 4
gpt4 key购买 nike

我很难使用 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

问题似乎是我无法弄清楚从哪里获取上面提到的 DOMAINPROJECT 信息,也许还有端点。文档说要从服务凭证查看凭证下的对象存储页面获取它们。我确实看到了包含以下字段的 JSON 输出:

{
"apikey": "...",
"endpoints": "...",
"iam_apikey_description": "...",
"iam_apikey_name": "...",
"iam_role_crn": "...",
"iam_serviceid_crn": "...",
"resource_instance_id": "..."
}

其中似乎都与域或项目信息无关,至少从名称上来看是这样。我什至使用对象存储连接器创建了一个单独的 Web 应用程序,并尝试按照一些文档的建议从环境变量页面获取信息,但没有成功。

我最终想要实现的是能够将文件提取到我创建的容器中,并使用顶部的数据和分析服务(数据科学体验)。

最佳答案

造成混淆的原因是 Bluemix 上有(或曾经有)两种不同的对象存储服务(对象存储云对象存储)。 bluemix-mobile-services SDK 是为对象存储编写的,而不是为您配置的服务编写的。

“应用程序服务”页面有一个入门工具包,可以非常轻松地获取入门代码并使用 Liberty 项目的工具链进行设置:

example of starter

其中包含凭据的域字段。 (这里是入门工具包的链接,我添加了注入(inject)凭据的对象存储服务: https://console.bluemix.net/developer/appservice/starter-kits 。或者您可以创建一个仅包含服务而不包含代码的项目: https://console.bluemix.net/developer/appservice/create-project?services=Object-Storage )

如果您想改用该服务,这里是用于云对象存储的 Java SDK 的文档:

https://console.bluemix.net/docs/services/cloud-object-storage/libraries/java.html#java

<小时/>

以下是对象存储服务的比较:

https://console.bluemix.net/catalog/infrastructure/object-storage-group

关于java - 使用 OpenStack4j 向 IBM 对象存储进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47462117/

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