
# 配置OBS客户端
![](https://support.huaweicloud.com/sdk-android-devg-obs/public_sys-resources/notice_3.0-zh-cn.png)
开发过程中，您有任何问题可以在github上[提交issue](https://github.com/huaweicloud/huaweicloud-sdk-java-obs/issues)，或者在[华为云对象存储服务论坛](https://bbs.huaweicloud.com/forum/forum-620-1.html)中发帖求助。[接口参考文档](https://obssdk.obs.cn-north-1.myhuaweicloud.com/apidoc/cn/android/index.html)详细介绍了每个接口的参数和使用方法。
当使用配置类（ObsConfiguration）创建OBS客户端（ObsClient）时，您可通过ObsConfiguration配置类对ObsClient进行配置，可配置代理、连接超时、最大连接数等参数。通过ObsConfiguration可以设置的参数见下表：
| **参数**                       | **描述**                                                                                                                                                          | **方法**                                           | **建议值**          |
|:---|:---|:---|:---|
| connectionTimeout            | 建立HTTP/HTTPS连接的超时时间（单位：毫秒）。默认为60000毫秒。                                                                                                                          | ObsConfiguration.setConnectionTimeout            | \[10000, 60000\] |
| socketTimeout                | Socket层传输数据的超时时间（单位：毫秒）。默认为60000毫秒。                                                                                                                             | ObsConfiguration.setSocketTimeout                | \[10000, 60000\] |
| idleConnectionTime           | 如果空闲时间超过此参数的设定值，则关闭连接（单位：毫秒）。默认为30000毫秒。                                                                                                                        | ObsConfiguration.setIdleConnectionTime           | 默认               |
| maxIdleConnections           | 连接池中最大空闲连接数，默认值：1000。                                                                                                                                           | ObsConfiguration.setMaxIdleConnections           | N/A              |
| maxConnections               | 最大允许的HTTP并发请求数。默认为1000。                                                                                                                                         | ObsConfiguration.setMaxConnections               | 默认               |
| maxErrorRetry                | 请求失败（请求异常、服务端报500或503错误等）后最大的重试次数。默认3次。 说明： 该参数对于上传对象和下载对象接口时，当上传或下载已经进入数据流处理阶段后产生异常中断，此时将不会重试。    | ObsConfiguration.setMaxErrorRetry                | \[0, 5\]         |
| endPoint                     | 连接OBS的服务地址。可包含协议类型、域名、端口号。示例：https://your-endpoint:443。 （出于安全性考虑，建议使用https协议）                                                     | ObsConfiguration.setEndPoint                     | N/A              |
| httpProxy                    | HTTP代理配置。默认为空。                                                                                                                                                  | ObsConfiguration.setHttpProxy                    | N/A              |
| validateCertificate          | 是否验证服务端证书。默认为false。                                                                                                                                             | ObsConfiguration.setValidateCertificate          | N/A              |
| verifyResponseContentType    | 是否验证响应头信息的ContentType。默认为true。                                                                                                                                  | ObsConfiguration.setVerifyResponseContentType    | 默认               |
| uploadStreamRetryBufferSize  | 上传流对象时使用的缓存大小（单位：字节）。默认为512KB。                                                                                                                                  | ObsConfiguration.setUploadStreamRetryBufferSize  | N/A              |
| readBufferSize               | 从Socket流下载对象的缓存大小（单位：字节），-1表示不设置缓存。默认为-1。                                                                                                                       | ObsConfiguration.setReadBufferSize               | N/A              |
| writeBufferSize              | 上传对象到Socket流时的缓存大小（单位：字节），-1表示不设置缓存。默认为-1。                                                                                                                      | ObsConfiguration.setWriteBufferSize              | N/A              |
| socketWriteBufferSize        | Socket发送缓冲区大小（单位：字节），对应java.net.SocketOptions.SO_SNDBUF参数。默认为-1表示不设置。                                                                                           | ObsConfiguration.setSocketWriteBufferSize        | 默认               |
| socketReadBufferSize         | Socket接收缓冲区大小（单位：字节），对应java.net.SocketOptions.SO_RCVBUF参数。默认为-1表示不设置。                                                                                           | ObsConfiguration.setSocketReadBufferSize         | 默认               |
| keyManagerFactory            | 用于生成javax.net.ssl.KeyManager的工厂。默认为空。                                                                                                                           | ObsConfiguration.setKeyManagerFactory            | N/A              |
| trustManagerFactory          | 用于生成javax.net.ssl.TrustManager的工厂。默认为空。                                                                                                                         | ObsConfiguration.setTrustManagerFactory          | N/A              |
| isStrictHostnameVerification | 是否严格验证服务端主机名。默认为false。                                                                                                                                          | ObsConfiguration.setIsStrictHostnameVerification | N/A              |
| keepAlive                    | 是否使用长连接访问OBS服务。默认为true。                                                                                                                                         | ObsConfiguration.setKeepAlive                    | N/A              |
| cname                        | 是否通过自定义域名访问OBS服务。默认为false。 说明： 为了保护您的业务不受华为云公共域名被相关机构接管的影响，建议优先选择自定义域名。 | ObsConfiguration.setCname                        | N/A              |
| sslProvider                  | SSLContext的Provider，默认使用JDK提供的SSLContext。                                                                                                                       | ObsConfiguration.setSslProvider                  | N/A              |
| httpProtocolType             | 访问OBS服务端时使用的HTTP协议类型。默认为HTTP1.1协议。                                                                                                                              | ObsConfiguration.setHttpProtocolType             | N/A              |
| httpDispatcher               | 自定义分发器。                                                                                                                                                         | ObsConfiguration.setHttpDispatcher               | N/A              |
   
![](https://support.huaweicloud.com/sdk-android-devg-obs/public_sys-resources/note_3.0-zh-cn.png)
- 建议值为N/A的表示需要根据实际情况进行设置。
- 如需提高大文件上传下载性能，在网络带宽满足的情况下，可对socketWriteBufferSize，sockeReadBufferSize，readBufferSize，writeBufferSize四个参数进行调优。
- 如网络状况不佳，建议增大connectionTimeout和socketTimeout的值。
- 如果设置的endPoint不带协议类型，则默认使用HTTPS协议。
- 出于DNS解析性能和OBS服务可靠性的考虑，不允许将endPoint设置为IP，必须使用域名访问OBS服务。
 
