Аутентификация в IBM Object Storage с помощью OpenStack4j

Я испытываю трудности с аутентификацией в Службе хранения объектов в IBM Cloud из внешнего Java-приложения с использованием библиотеки OpenStack4j (версия 3.1.0). Вот как я пытаюсь:

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, упомянутую выше, и, возможно, конечную точку. В документации сказано, что их можно получить на странице хранения объектов в разделе " Учетные данные службы" и " Просмотреть учетные данные". Я вижу вывод JSON со следующими полями:

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

Ни один из которых, кажется, не относится к информации о домене или проекте, по крайней мере, по имени. Я даже создал отдельное веб-приложение с коннектором хранилища объектов и попытался получить информацию со страницы "Переменные среды", как предлагалось в некоторых документах, но безуспешно.

В конечном итоге я хочу получить возможность загружать файлы в созданный мною контейнер и использовать сервисы обработки данных и аналитики (Data Science Experience).

1 ответ

Решение

Причина путаницы заключается в том, что в Bluemix есть (или когда-то были) две разные службы хранения объектов (Storage Object и Cloud Object Storage). SDK bluemix-mobile-services предназначен для хранения объектов, а не для предоставляемой вами службы.

На странице службы приложений есть стартовый набор, который позволяет довольно просто получить стартовый код и настроить его с помощью набора инструментов для проекта Liberty:

пример стартера

Здесь есть поле домена для учетных данных. (Вот ссылка на стартовые наборы, и я добавил службу хранения объектов, которая вводит учетные данные: 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


Вот сравнение сервисов Object Storage:

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

Другие вопросы по тегам