配置参数说明
通过配置文件.obsutilconfig,您可以设置obsutil中的各项配置参数。
配置文件格式:
endpoint=<value> ak=<value> sk=<value> token=<value> endpointCrr=<value> akCrr=<value> skCrr=<value> tokenCrr=<value> connectTimeout=<value> socketTimeout=<value> maxRetryCount=<value> maxConnections=<value> defaultBigfileThreshold=<value> defaultPartSize=<value> defaultParallels=<value> defaultJobs=<value> defaultJobsCacheCount=<value> rateLimitThreshold=<value> sdkLogBackups=<value> sdkLogLevel=<value> sdkLogPath=<value> sdkMaxLogSize=<value> utilLogBackups=<value> utilLogLevel=<value> utilLogPath=<value> utilMaxLogSize=<value> writeBufferIoSize=<value> readBufferIoSize=<value> recordMaxLogSize=<value> recordBackups=<value> humanReadableFormat=<value> showProgressBar=<value> showStartTime=<value> helpLanguage=<value> defaultTempFileDir=<value> checkSourceChange=<value> skipCheckEmptyFolder=<value> fsyncForDownload=<value> memoryEconomicalScanForUpload=<value> forceOverwriteForDownload=<value> panicForSymbolicLinkCircle=<value> autoChooseSecurityProvider=<value> fastFailThreshold=<value> abortHttpStatusForResumableTasks=<value> showBytesForCopy=<value> proxyUrl=<value> faultTolerantMode=<value>
各参数的详细描述如表1所示。
参数 |
约束 |
描述 |
建议值 |
---|---|---|---|
endpoint |
必选 |
连接OBS的服务地址。可包含协议类型、域名、端口号(可选)。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议,443端口号可以省略) 例如,访问区域为中国-香港,则实际的OBS服务地址为:https://obs.ap-southeast-1.myhuaweicloud.com。
说明:
|
N/A |
ak |
可选 |
访问密钥中的AK。当配置了autoChooseSecurityProvider为true时可选。
说明:
|
N/A |
sk |
可选 |
访问密钥中的SK。当配置了autoChooseSecurityProvider为true时可选。
说明:
|
N/A |
token |
可选 |
安全令牌,为空表示不设置安全令牌。当使用临时AK,SK访问的时候必须要带token。 |
N/A |
endpointCrr |
可选 |
客户端跨区域复制模式时,源桶的OBS的服务地址。可包含协议类型、域名、端口号。示例:https://your-endpoint:443。(出于安全性考虑,建议使用https协议,443端口号可以省略)
说明:
|
N/A |
akCrr |
可选 |
客户端跨区域复制模式时,源桶使用的访问密钥中的AK。 |
N/A |
skCrr |
可选 |
客户端跨区域复制模式时,源桶使用的访问密钥中的SK。 |
N/A |
tokenCrr |
可选 |
客户端跨区域复制模式时,源桶使用的安全令牌,为空表示不设置安全令牌。当使用临时访问密钥访问的时候必须要带此参数。 |
N/A |
connectTimeout |
可选 |
建立HTTP/HTTPS连接的超时时间,单位:秒,默认为30。 |
[5, 120] |
socketTimeout |
可选 |
读写数据的超时时间,单位:秒,默认为310。 |
[5, 600] |
maxRetryCount |
可选 |
请求的最大重试次数,默认为3。
说明:
当请求OBS服务完成但获取到的HTTP状态码为408、5XX时,或者请求OBS服务发生超时错误时会进行重试。 |
[0, 5] |
maxConnections |
可选 |
配置允许打开的最大HTTP连接数。默认为1000。 |
N/A |
defaultBigfileThreshold |
可选 |
开启分段任务的阈值,如果待上传/下载/复制的文件大于该阈值,则采用分段任务的形式进行上传/下载/复制。单位:字节,默认为50MB。
说明:
支持带容量单位配置,例如,配置1MB代表1048576字节。 |
至少大于5MB |
defaultPartSize |
可选 |
每个分段任务的段大小,单位:字节,默认为auto。
说明:
|
[9MB, 100MB] |
defaultParallels |
可选 |
每个分段任务的最大并发数,默认为5。 |
可参照obsutil性能调优最佳实践进行配置 |
defaultJobs |
可选 |
批量任务的最大并发数,默认为5。
说明:
批量任务包含上传文件夹、下载文件夹、复制文件夹、批量恢复对象、批量删除对象等。 |
[1, 50] |
defaultJobsCacheCount |
可选 |
批量任务队列的缓存大小,表示最大可以缓存的任务个数,默认为1000000。
说明:
缓存的任务个数越多,占用的内存资源越大,建议根据实际使用情况调整此参数值。 |
默认 |
rateLimitThreshold |
可选 |
上传/下载命令的流控阈值,单位:字节/秒,默认为0表示不限流,最小值为10KB。
说明:
支持带容量单位配置,例如,配置1MB代表1048576字节。 |
大于100KB |
sdkLogBackups |
可选 |
最大可保留SDK日志的文件个数,默认为10。 |
N/A |
sdkLogLevel |
可选 |
SDK日志的级别,支持的值:
默认为WARN。 |
N/A |
sdkLogPath |
可选 |
SDK日志文件的全路径,必须是一个文件名,默认为用户目录(macOS/Linux下为HOME目录;Windows下为C:\Users\<用户名>)的子文件夹.obsutil_log下的obssdk.log文件。
说明:
须知:
同一个用户如果开启多个obsutil进程同时运行时,可能导致日志文件并发写失败或日志内容丢失的问题,请在运行命令时加上-config参数为每个进程配置独立的配置文件。 |
N/A |
sdkMaxLogSize |
可选 |
SDK日志文件大小,单位:字节,默认为30MB。
说明:
支持带容量单位配置,例如,配置1MB代表1048576字节。 |
[10MB, 100MB] |
utilLogBackups |
可选 |
最大可保留obsutil日志的文件个数,默认为10。 |
N/A |
utilLogLevel |
可选 |
obsutil日志的级别,支持的值:
默认为INFO。 |
N/A |
utilLogPath |
可选 |
obsutil日志文件的全路径,必须是一个文件名,默认为用户目录(macOS/Linux下为HOME目录;Windows下为C:\Users\<用户名>)的子文件夹.obsutil_log下的obsutil.log文件。
说明:
须知:
同一个用户如果开启多个obsutil进程同时运行时,可能导致日志文件并发写失败的问题,请在运行命令时加上-config参数为每个进程配置独立的配置文件。 |
N/A |
utilMaxLogSize |
可选 |
obsutil日志文件大小,单位:字节,默认为30MB。
说明:
支持带容量单位配置,例如,配置1MB代表1048576字节。 |
[10MB, 100MB] |
writeBufferIoSize |
可选 |
下载数据的缓存大小,单位:字节,默认为65536。
说明:
|
N/A |
readBufferIoSize |
可选 |
上传数据的缓存大小,单位:字节,默认为8192。
说明:
|
[4096, 65536] |
recordMaxLogSize |
可选 |
批量任务成功/失败/警告的结果清单文件大小,单位:字节,默认为30MB。
说明:
支持带容量单位配置,例如,配置1MB代表1048576字节。 |
[5MB, 100MB] |
recordBackups |
可选 |
批量任务最大可保留的成功或失败的结果清单文件个数,默认为1024。 |
N/A |
humanReadableFormat |
可选 |
是否将列举对象结果和结果清单内容中的字节数转换为易读格式,为true时表示进行转换,默认为true。 |
N/A |
showProgressBar |
可选 |
是否在控制台显示进度条,为true时表示显示进度条,默认为true。 |
N/A |
showStartTime |
可选 |
是否在控制台显示开始时间,为true时表示显示,默认为true。 |
N/A |
helpLanguage |
可选 |
帮助文档的语种,当前完成国际化的语种类型:
默认为English。 |
N/A |
defaultTempFileDir |
可选 |
下载时保存临时文件的文件夹, 默认为用户目录(macOS/Linux下为HOME目录;Windows下为C:\Users\<用户名>)的子文件夹.obsutil_tempfile。
说明:
|
N/A |
checkSourceChange |
可选 |
上传/下载/复制时,是否检测源文件/对象变化,为true时表示开启。 |
N/A |
skipCheckEmptyFolder |
可选 |
下载时是否跳过检查OBS服务端的空文件夹,为true时表示跳过检查,默认为false。
须知:
配置该参数为true,可能导致下载到本地后的目录结构与云端不一致。 |
N/A |
fsyncForDownload |
可选 |
下载时是否强制同步内存数据到磁盘,为true时表示需要强制同步,默认为false。
说明:
|
N/A |
memoryEconomicalScanForUpload |
可选 |
上传文件夹时,是否使用内存占用更少的扫描方式,为true时表示使用,默认为true。 |
N/A |
forceOverwriteForDownload |
可选 |
在linux/macOs操作系统上下载对象时,强制覆盖本地可执行文件(即使本地可执行文件正在运行),为true时表示进行强制覆盖,默认为true。 |
N/A |
panicForSymbolicLinkCircle |
可选 |
上传时对于检测到软链接形成环后的处理方式,为false时代表仅记录错误,为true时代表产生panic异常,默认为false。 |
N/A |
autoChooseSecurityProvider |
可选 |
是否依次从配置文件、环境变量、ecs接口获取访问密钥自动获取访问密钥,默认为false。
说明:
该参数的更多细节请参考为obsutil配置自动获取访问密钥。 |
N/A |
fastFailThreshold |
可选 |
批量任务遇到4XX错误后快速失败的阈值,当发生超过该阈值的4XX错误后进入快速失败流程,所有未执行或正在扫描的任务会被中断。默认为5。
说明:
快速失败机制的目的是进行批量任务时,避免产生过多的流量,如果希望尽早启动快速失败,可将该值配置为0或-1,表示一旦遇到4XX错误则立即进入快速失败流程。 |
N/A |
abortHttpStatusForResumableTasks |
可选 |
分段上传/下载/复制任务快速中断的HTTP状态码,当某个分段子任务的HTTP状态码包含在该值范围内时,则会立即中断整个分段上传/下载/复制任务。默认值为:401,403,404,405,409。
说明:
|
默认 |
showBytesForCopy |
可选 |
桶间复制对象时进度条是否以字节方式显示速率,默认为false。 |
N/A |
proxyUrl |
可选 |
HTTP代理配置,示例:http://username:password@your-proxy:8080。
说明:
|
N/A |
faultTolerantMode |
可选 |
是否忽略读操作引发的panic,默认为false,表示不忽略。 |
N/A |
- 建议值为N/A的表示需要根据实际情况进行设置;
- 建议指定sdkLogPath和utilLogPath开启SDK日志和obsutil日志;
- defaultBigfileThreshold、defaultPartSize、rateLimitThreshold、sdkMaxLogSize、utilMaxLogSize、recordMaxLogSize、readBufferIoSize、writeBufferIoSize支持带容量单位配置,例如,配置1MB代表1048576字节。