Как загрузить файл в OCI Object Storage

Я пытаюсь использовать UploadObjectExample.java код для загрузки файла в хранилище объектов OCI. Я столкнулся с ошибкой тайм-аута подключения при подключении к URL-адресу хранилища объектов. Тот же файл конфигурации используется OCI CLI для успешной загрузки файлов в конфигурацию OCI.

Вот журнал ошибок:

Exception in thread "main" com.oracle.bmc.model.BmcException: (-1, null, true) Timed out while communicating to: https://objectstorage.us-ashburn-1.oraclecloud.com (outbound opc-request-id: 1EB5AA4A7FD64D58A54F876AD0C9E83B)
    at com.oracle.bmc.http.internal.RestClient.convertToBmcException(RestClient.java:572)
    at com.oracle.bmc.http.internal.RestClient.put(RestClient.java:380)
    at com.oracle.bmc.objectstorage.ObjectStorageClient.putObject(ObjectStorageClient.java:1053)
    at com.oracle.bmc.objectstorage.transfer.internal.SimpleRetry$1.apply(SimpleRetry.java:34)
    at com.oracle.bmc.objectstorage.transfer.internal.SimpleRetry$1.apply(SimpleRetry.java:26)
    at com.oracle.bmc.objectstorage.transfer.UploadManager.singleUpload(UploadManager.java:111)
    at com.oracle.bmc.objectstorage.transfer.UploadManager.upload(UploadManager.java:73)
    at UploadObjectExample.main(UploadObjectExample.java:74)
Caused by: javax.ws.rs.ProcessingException: java.net.SocketTimeoutException: connect timed out
    at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:284)
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:278)
    at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$0(JerseyInvocation.java:753)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:414)
    at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:752)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:445)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.put(JerseyInvocation.java:334)
    at com.oracle.bmc.http.internal.ForwardingInvocationBuilder.put(ForwardingInvocationBuilder.java:141)
    at com.oracle.bmc.http.internal.RestClient.put(RestClient.java:377)

person Raje    schedule 04.03.2019    source источник
comment
При дальнейшем исследовании с помощью отладчика кажется, что класс PutObjectRequest не создается. Ошибка при отладке через это "это" недоступно   -  person Raje    schedule 04.03.2019
comment
PutObjectRequest создается в примере: github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/   -  person Joe    schedule 04.03.2019


Ответы (4)


Пожалуйста, проверьте curl -v https://objectstorage.us-ashburn-1.oraclecloud.com с того же компьютера, на котором время ожидания клиента Java истекло, просто чтобы убедиться, что нет проблем с подключением. Если все работает нормально, вы можете попробовать изменить значение тайм-аута в ClientConfiguration. Вы можете увидеть более подробную информацию здесь: https://github.com/oracle/oci-java-sdk/issues/92

Перед созданием заявки в службу поддержки вы также можете попытаться создать новую проблему на github / oci-java. -sdk.

person lsarecz    schedule 04.03.2019
comment
Поэтому вам следует попытаться настроить тайм-аут в ClientConfiguration. - person lsarecz; 04.03.2019

не зная больше о файле конфигурации (я не предлагаю вам публиковать его здесь), вашем домашнем регионе и других элементах, очень сложно помочь.

Я предлагаю вам открыть заявку в службу поддержки на странице https://support.oracle.com, убедившись, что вы выбрали вкладка «Облако» и Сервис как «Oracle Cloud Infrastructure».

person Ben Haworth    schedule 04.03.2019

Ты используешь прокси? В таком случае вам может потребоваться OCI Java SDK ApacheConnector.

person Joe    schedule 04.03.2019

Это была проблема с прокси. Это было решено с помощью прокси-сервера ash7.

person Raje    schedule 15.03.2019