对象存储服务 OBS-创建并配置客户端(Java SDK):ObsConfiguration类支持配置的参数列表
ObsConfiguration类支持配置的参数列表
- 如需提高文件上传下载性能,在网络带宽满足的情况下,可对socketWriteBufferSize,sockeReadBufferSize,readBufferSize,writeBufferSize四个参数进行调优。
- 如网络状况不佳,建议增大connectionTimeout和socketTimeout的值。
参数 |
描述 |
方法 |
建议值 |
---|---|---|---|
connectionTimeout |
参数解释: 建立HTTP/HTTPS连接的超时时间。 默认取值: 60000,单位:毫秒。 |
ObsConfiguration.setConnectionTimeout |
[10000, 60000] |
socketTimeout |
参数解释: Socket层传输数据的超时时间(单位:毫秒)。 默认取值: 60000,单位:毫秒。 |
ObsConfiguration.setSocketTimeout |
[10000, 60000] |
idleConnectionTime |
参数解释: 如果空闲时间超过此参数的设定值,则关闭连接。 默认取值: 30000,单位:毫秒。 |
ObsConfiguration.setIdleConnectionTime |
根据实际情况设置 |
maxIdleConnections |
参数解释: 连接池中最大空闲连接数。 默认取值: 1000,单位:个。 |
ObsConfiguration.setMaxIdleConnections |
根据实际情况设置 |
maxConnections |
参数解释: 最大允许的HTTP并发请求数。 默认取值: 1000,单位:个。 |
ObsConfiguration.setMaxConnections |
默认 |
maxErrorRetry |
参数解释: 请求失败(请求异常、服务端报500或503错误等)后最大的重试次数。 约束限制: 该参数对于上传对象和下载对象接口时,当上传或下载已经进入数据流处理阶段后产生异常中断,此时将不会重试。 默认取值: 3,单位:次。 |
ObsConfiguration.setMaxErrorRetry |
[0, 5] |
endPoint |
参数解释: 连接OBS的服务地址。可包含协议类型、 域名 、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议) 约束限制: 出于DNS解析性能和OBS服务可靠性的考虑,不允许将endPoint设置为IP,必须使用域名访问OBS服务,同时endpoint设置为IP还会导致使用path请求方式访问OBS桶,此方式已经禁止使用。(请在这个页面搜索并查看”禁止使用path请求方式访问OBS桶“相关说明)。 默认取值: 无 |
ObsConfiguration.setEndPoint |
根据实际情况设置 |
httpProxy |
参数解释: HTTP代理配置。 默认取值: 默认为空 |
ObsConfiguration.setHttpProxy |
根据实际情况设置 |
validateCertificate |
参数解释: 是否验证服务端证书。 取值范围:
默认取值: false |
ObsConfiguration.setValidateCertificate |
根据实际情况设置 |
verifyResponseContentType |
参数解释: 是否验证响应头信息的ContentType。 取值范围:
默认取值: true |
ObsConfiguration.setVerifyResponseContentType |
默认 |
readBufferSize |
参数解释: 从Socket流下载对象的缓存大小,-1表示不设置缓存。 默认取值: -1,单位:字节。 |
ObsConfiguration.setReadBufferSize |
根据实际情况设置 |
writeBufferSize |
参数解释: 上传对象到Socket流时的缓存大小,-1表示不设置缓存。 默认取值: -1,单位:字节。 |
ObsConfiguration.setWriteBufferSize |
根据实际情况设置 |
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 |
根据实际情况设置 |
trustManagerFactory |
参数解释: 用于生成javax.net.ssl.TrustManager的工厂。 默认取值: 默认为空。 |
ObsConfiguration.setTrustManagerFactory |
根据实际情况设置 |
isStrictHostnameVerification |
参数解释: 是否严格验证服务端主机名。设置为true后,需要通过javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier去设置一个实现javax.net.ssl.HostnameVerifier接口的对象,用于验证主机名 取值范围:
默认取值: false |
ObsConfiguration.setIsStrictHostnameVerification |
根据实际情况设置 |
keepAlive |
参数解释: 是否使用长连接访问OBS服务。 取值范围:
默认取值: true |
ObsConfiguration.setKeepAlive |
根据实际情况设置 |
cname |
参数解释: 是否通过自定义域名访问OBS服务。 取值范围:
默认取值: false |
ObsConfiguration.setCname |
根据实际情况设置 |
sslProvider |
参数解释: SSLContext的Provider。 默认取值: 使用JDK提供的SSLContext。 |
ObsConfiguration.setSslProvider |
根据实际情况设置 |
httpProtocolType |
参数解释: 访问OBS服务端时使用的HTTP协议类型。 默认取值: HTTP1.1
说明:
如果设置的endPoint不带协议类型,则默认使用HTTPS协议。 |
ObsConfiguration.setHttpProtocolType |
根据实际情况设置 |
httpDispatcher |
参数解释: 自定义分发器。 默认取值: 无 |
ObsConfiguration.setHttpDispatcher |
根据实际情况设置 |
secureRandom |
参数解释: 配置随机数生成器,支持设置为自定义的随机数生成器。 默认取值: 默认为 new SecureRandom()
说明:
|
ObsConfiguration.setSecureRandom |
根据实际情况设置 |