最近更新时间:2024-07-17 19:45:09
本文主要介绍指定URL列表上传至KS3配置文件参数说明。
当数据源为URL列表文件时,需要设置url.conf
文件,用于创建迁移任务。
参数示例
taskName=test
srcType=url
srcPrefix=/root/url_list.txt
dstAccessKey=ks3AK
dstSecretKey=ks3SK
dstDomain=ks3-cn-beijing.ksyun.com
dstBucket=examplebucket
dstPrefix=url/
threadsNum=10
cannedAcl=Private
storageType=STANDARD
skipDstExistFile=0
singleFileSize=104857600
partSize=104857600
uploadPartPoolSize=5
filterEnable=false
fileNameInclude=
fileNameExclude=
maxNetThroughput=-1
maxNetThroughputRange=
maxNetThroughputTimeRange=
modifyTimeRange=
incrementalMode=false
incrementalModeInterval=900
参数说明
参数 | 是否必选 | 说明 |
---|---|---|
taskName | 否 | 迁移任务名称,不填写该值时系统将随机生成字符串 |
srcType | 是 | 迁移源端类型,填写值为: |
srcPrefix | 否 | URL列表文件的绝对路径。列表文件内包含要上传的URL,每行一个URL,支持HTTP和HTTPS协议 |
dstAccessKey | 是 | 目的端对象存储的 AccessKey ID,即KS3 AccessKey |
dstSecretKey | 是 | 目的端对象存储的 AccessKey Secret,即KS3 SecretKey |
dstDomain | 是 | Bucket所在区域对应域名,不同区域对应的域名不同 KS3域名详情:点击查看 |
dstBucket | 是 | KS3 Bucket名称 (多桶迁移COPY类型可不填写,若填写则进行忽略) |
dstPrefix | 否 | 目标前缀,迁移至KS3后的对象将自动添加此前缀 目标文件名称生成规则:点击查看 |
cannedAcl | 是 | 文件权限配置,支持如下配置:
|
storageType | 是 | 文件存储类型,支持如下类型:
|
threadsNum | 是 | 并发上传的线程数,根据客户端资源实际情况进行配置。
1. 当文件较大涉及到分块时,可与uploadPartPoolSiz一起使用,总并发数=threadsNum * uploadPartPoolSize 2. 初次不建议设置过高,建议运行过程中从小到大逐渐尝试调整并发数值 3. 该参数支持热加载,即迁移过程中修改配置文件后无需重启命令即可生效 |
skipDstExistFile | 否 | 迁移时是否跳过目标桶内已存在的文件
支持如下配置:
|
singleFileSize | 否 | 分块上传文件大小阈值 ,即当文件超过指定设置大小时,文件会进行分块上传。单位为Byte
|
partSize | 否 | 分块上传块大小。即当文件大小满足分块阈值时,将按照该设置值进行分块上传,单位为Byte
|
uploadPartPoolSize | 否 | 单文件分块传输并发数
1. 可搭配 2. 该参数支持热加载,即迁移过程中修改配置文件后无需重启命令即可生效 |
maxNetThroughput | 否 | 带宽限速,单位为KB/s,取值<=0表示不限速
|
maxNetThroughputRange | 否 | 使用分时限流的带宽限速,可设置多个时间段的带宽限速值,单位为KB/s,取值<=0表示不限速
1. 该参数需搭配 2. 执行优先级:分时限速> |
maxNetThroughputTimeRange | 否 | 执行分时带宽限速的时间段,可设置多个限流时间段,限流区间要与限流时段一一对应,否则设置无效。
该参数与 |
filterEnable | 否 | 过滤器开关,可根据文件名和文件修改时间过滤文件。取值如下:
|
fileNameInclude | 否 | 文件名称白名单。可用于设置指定包含某字符的文件名称进行迁移,多个用英文逗号分隔 filterEnable=true时该配置生效,否则不生效 |
fileNameExclude | 否 | 文件名称黑名单。可用于设置指定包含某字符的文件名称不进行迁移,多个用英文逗号分隔 filterEnable=true时该配置生效,否则不生效 |
modifyTimeRange | 否 | 文件修改时间范围,以#分割,时间格式为yyyy-MM-dd HH:mm:ss,如2005-01-12 00:00:00#2016-01-12 00:00:00
filterEnable=true时该配置生效,否则不生效 |
incrementalMode | 否 | 是否开启增量迁移,支持如下配置
|
incrementalModeInterval | 否 | 开启增量迁移时间间隔,单位为秒 仅当incrementalMode=true时该参数生效,该值设置较小可能会造成系统额外开销,不建议设置小于3600秒的值 |
incrementalModeCount | 否 | 增量迁移若干次数后结束迁移任务
|
useLocalDBCheck | 否 | 是否优先使用本地.db文件判断文件是否已经上传过,取值如下:
每启动一个Import任务都会在本地生成一个后缀为.db的文件,记录上传信息。 |
callProgressUrl | 否 | 任务进度回调URL,可以在任务运行中和运行结束时向配置的URL上报任务进度 |
crcCheckEnabled | 否 | 是否开启CRC64校验,取值如下:
|
objectKeyRegexInclude | 否 | URL白名单。使用正则表达式匹配文件的URL,符合规则的URL指定文件被迁移 1. filterEnable=true时该配置生效,否则不生效 2. 正则匹配优先级大于普通匹配,比如同时配置objectKeyRegexInclude和fileNameInclude时,只有objectKeyRegexInclude生效 |
objectKeyRegexExclude | 否 | URL黑名单。使用正则表达式匹配文件的URL,符合规则的URL指定文件不迁移 1. filterEnable=true时该配置生效,否则不生效 2. 正则匹配优先级大于普通匹配,比如同时配置objectKeyRegexExclude和fileNameExclude时,只有objectKeyRegexExclude生效 |
KS3 Import工具会遍历列表文件中的每个URL链接,并执行以下步骤:
首先确定字符串end的值,它表示去掉查询参数后的URL长度。如果URL中不包含问号(即没有查询参数),则end的值为URL的长度。如果包含问号,end的值为问号在URL中的位置。
接下来,截取URL中的相对文件名。首先找到第一个斜杠(/)字符出现的位置(跳过//之后的字符),然后从该位置+1开始,截取直到end位置的字符串,得到相对文件名。
如果dstPrefix为空,objectKey将是相对文件名。如果dstPrefix不为空,那么objectKey将是dstPrefix和相对文件名的组合,即objectKey=dstPrefix+相对文件名。
假设有以下参数值:
dstPrefix=upload/
srcType=url
以上示例中,如URL地址为:https://example.com/files/data1.txt?abc=123
,将生成以下objectKey:
upload/files/data1.txt
这是因为end的值为问号在URL中的位置,从URL中截取的相对文件名为files/data1.txt
。最后,使用dstPrefix和相对文件名的组合作为objectKey。
如需保持与URL地址显示的目录一致,只需将dstPrefix设置为与URL目录一致的名称即可。
纯净模式