Облачное хранилище 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-объекты с именами, включая завершающий '!'. Можете ли вы попробовать другие соглашения об именах и посмотреть, есть ли у вас такая же ошибка?