jclouds - использовать аутентификацию v1 для openstack-swift?

У меня есть хранилище больших двоичных объектов openstack-swift, настроенное с аутентификацией v1, к которому я хочу получить доступ через jclouds. Есть ли способ сделать это?

(Насколько я могу судить, KeystoneAuthenticationModule всегда установлен.)

Спасибо.


person user3841942    schedule 15.07.2014    source источник


Ответы (1)


Это должно быть возможно сделать с помощью jclouds. Попробуй это:

    ContextBuilder builder = ContextBuilder
        .newBuilder("swift")
        .credentials(IDENTITY, CREDENTIAL)
        .endpoint(ENDPOINT);
    BlobStoreContext blobStoreContext = builder.build(
        BlobStoreContext.class);
    BlobStore blobStore = blobStoreContext.getBlobStore();

Замените IDENTITY, CREDENTIAL, ENDPOINT выше соответствующими значениями.

После этого вы можете использовать объект blobStore для реальных операций хранилища больших двоичных объектов, таких как createContainer, getBlob, putBlob и т. д.

person Shri Javadekar    schedule 15.07.2014
comment
да, это работает - я использовал провайдера openstack-swift вместо swift - person user3841942; 17.07.2014
comment
Эта ошибка броска фрагмента для openstack-swift API 1.8.0 java.util.NoSuchElementException: key [swift] not in the list of providers or apis: {apis=[transient, stub, openstack-cinder, openstack-glance, openstack-keystone, openstack-marconi, openstack-neutron-legacy, openstack-neutron, openstack-nova, openstack-swift, openstack-trove]} - person gkiko; 16.02.2015