配置参数说明
通过配置文件.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.cn-north-4.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个任务执行,则当前目录默认最多会有N*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字节。