Облачное хранилище HP: невозможно загрузить блоб с полезной нагрузкой

Вот пример моего кода:

    Свойства реквизита = новые свойства ();
    props.setProperty(KeystoneProperties.CREDENTIAL_TYPE, CredentialTypes.API_ACCESS_KEY_CREDENTIALS);
    context = ContextBuilder.newBuilder("hpcloud-objectstorage")
        .overrides(реквизит).credentials (api_key, api_secret).buildView (BlobStoreContext.class);
    store = context.getBlobStore ();

    // это работает
    Blob blob1 = store.blobBuilder ("file1").payload ("").build ();

    String blobName1 = store.putBlob (remoteFolderName, blob1);

    // это вылетает с сообщением, вы можете увидеть ниже
    Blob blob2 = store.blobBuilder("file2")
        .payload("а").build ();

    String blobName1 = store.putBlob (remoteFolderName, blob2);

сообщение об исключении, которое я получаю после выполнения этого кода, выглядит следующим образом:

    Ноя 07, 2012 7:08:44 org.jclouds.logging.jdk.JDKLogger logError
    Schwerwiegend: Невозможно повторить попытку после ошибки сервера, команда превысила ограничение 5 попыток: [method=HPCloudObjectStorageAsyncApi.putObject, request=PUT https://region-a.geo-1.objects.hpcloudsvc.com/v1/82797321453196/cloudstoretest/file2 HTTP/1.1] 

вот трассировка стека:

    org.jclouds.http.HttpResponseException: неожиданный конец файла с сервера, подключающегося к PUT https://region-a.geo-1.objects.hpcloudsvc.com/v1/82797321453196/cloudstoretest/tada%21 HTTP/1.1
    в org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:179)
    в org.jclouds.http.internal.BaseHttpCommandExecutorService$HttpResponseCallable.call(BaseHttpCommandExecutorService.java:135)
    ...

Я понятия не имею, в чем может быть проблема. Я 2 дня ищу возможные решения, но безрезультатно. Я был бы очень рад, если у кого-то есть идея, что я делаю не так...

1 ответ

Похоже, что имя вашего блоба буквально "тада!" основанный на URL, закодированном "tada%21"

вполне возможно, что реализация openstack swift не поддерживает BLOB-объекты с именами, включая завершающий '!'. Можете ли вы попробовать другие соглашения об именах и посмотреть, есть ли у вас такая же ошибка?

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