пятница, 1 февраля 2019 г.

Использование Swift (OpenStack Object Storage)


Пример использования swift для работы с хранилищем данных.

В классе конфигурации (@Configuration) инициализируем подключение к сервису хранилища.

Для работы с swift в разных потоках, нам необходимо получить Token.


@Bean("swiftToken")
public Token swiftClient(SwiftProperties swiftProperties) {

    String domain = "Default";
    OSClient.OSClientV3 result = OSFactory.builderV3()
            .endpoint(swiftProperties.getUrl())
            .credentials(swiftProperties.getLogin()
                    , swiftProperties.getPassword()
                    , Identifier.byName(domain))
            .scopeToProject(Identifier.byName(swiftProperties.getTenantId())
                    , Identifier.byName(domain))
            .authenticate();
    return result.getToken();}

Дальше для обращения к сервису с помощью Token-а получаем экземпляр клиента.

@Autowiredprivate Token swiftToken;
private OSClient.OSClientV3 getOsClientV3() {
    return OSFactory.clientFromToken(swiftToken);}


Основные ссылки:
  • http://www.openstack4j.com/learn/objectstorage
  • http://www.openstack4j.com/learn/threads/