链接复制成功!
多段上传
使用场景
分段上传将单个对象拆分为多个分片分别上传,当对象的所有分片都上传后,OBS将这些段合并起来,然后创建对象。一般而言,如果您的对象大小达到了100MB,应考虑使用多段上传,而不是使用简单上传。使用分段上传具有以下优势:
- 提高吞吐量:多个分片并行上传可以提高上传速度,最大限度地利用您的带宽。
- 更好地适应网络波动:如果某一个分片因为网络原因上传失败,只需要重新上传该分片即可,无需重新上传整个对象,帮助您节省时间和流量。
- 在未知对象大小之前开始上传:如果您在上传对象时无法确认对象的最终大小,例如视频监控场景下,视频文件是实时生成并上传的,这种情况下可使用分段上传。
约束与限制
- 文件夹不支持多段上传。
- 一个请求只能上传一个段,可以同时发起多个请求。
- 分段相关限制:
表1 分段相关限制 项目
限制
对象大小
最大48.8TB
每次上传的段的数量
最大10000
段编号
1到10000(含)
段大小
100KB到5GB,最后一个段大小是0到5GB
列举已上传的段请求返回的段数量
最大1000
列举已初始化多段任务请求返回的任务数量
最大1000
- 如果您使用SSE-C加密(用户提供密钥),需要在初始化上传段任务、上传段、拷贝段的过程中携带密钥信息,且同一个任务内的多段操作,携带的密钥必须保持一致。合并段无需携带密钥,合并后的对象是一个使用SSE-C方式加密的对象。
- 如果您使用SSE-KMS或者SSE-OBS加密方式,只需要在初始化上传段任务时配置好加密方式、算法和密钥信息。
费用说明
- 如果要上传深度归档对象,且上传数量较多的时候,为了降低PUT类请求费用,建议您先使用标准存储进行上传,然后通过生命周期规则将其转储为深度归档类型。
- 初始化上传段任务并上传一个或多个段之后,您必须合并段或取消多段上传任务,OBS才能释放已上传段的存储空间,并停止向您收取分段存储费用。
权限说明
执行多段上传相关操作前,您需要按照下表获取相关权限:
操作 | 所需权限 |
|---|---|
初始化上传段任务 | 您必须是桶拥有者或者拥有PutObject权限。 |
上传段 | 您必须拥有PutObject操作的权限。 |
合并段 | 您必须拥有PutObject操作的权限。 |
拷贝段 | 您必须是拥有PutObject、GetObject操作的权限。 |
列举已上传的段 | 您必须是桶拥有者或者拥有ListMultipartUploadParts权限。 |
列举多段上传任务 | 您必须是桶拥有者或者拥有ListBucketMultipartUploads权限。 |
取消多段上传任务 | 您必须是桶拥有者或者拥有AbortMultipartUpload权限。 |
注意事项
- 如果上传过程中本地文件发生了改变,则需要重新上传所有分片。
- 多并发上传同一对象的同一段时,服务端遵循Last Write Win策略,但“Last Write”的时间定义为段元数据创建时间。为了保证数据准确性,客户端需要加锁保证同一对象的同名段上传的并发性。同一对象的不同段并发上传不需要加锁。
- 上传大量对象时,不要使用顺序前缀(如时间戳或字母顺序)的对象名。因为顺序前缀命名可能会出现大量对象索引集中存储于存储空间中某个特定分区的情况。此时如果请求速率过大,会导致请求速率下降。
- 建议您开启多版本控制功能防止同名对象被意外覆盖。开启后,被覆盖的对象会以历史版本的形式保存下来,您可以随时恢复历史版本对象。
多段上传流程

序号 | 操作 | 说明 |
|---|---|---|
1 | 在本地客户端将大文件进行分段处理,单个分段的大小限制为100KB到5GB,最后一个段大小限制是0到5GB。 | |
2 | 初始化上传任务并获取任务ID,后续的上传段、合并段、列举段等操作都需要携带这个ID,以表明这些操作都归属于指定ID的分段任务。 初始化阶段还会设置对象的多个属性,例如对象的存储类别、对象ACL等。后续的上传段、合并段无需再重复设置这些属性。 | |
3 | 上传分段,每一个分段都可以独立上传,并且可以按照任意顺序上传。如果您的网络状况良好,可以使用并发上传以提高速度并充分利用带宽。如果任意分段传输失败,只需重新传输该分段且不会影响其它分段。 如需中止上传,请使用取消多段上传任务接口取消上传并删除已上传至桶中的分段。 | |
4 | 当所有分段都成功上传后,开始合并段,将多个分段合并成一个完整的对象。 |
多段上传示例
OBS管理控制台、OBS Browser+、obsutil将详细的多段上传步骤进行了封装,您无需感知具体步骤,只需使用界面或者命令行直接上传即可,详情参见使用方式。为了帮助您理解完整的多段上传过程,此处使用API Explorer工具调用OBS API,为您详细演示完整的上传段过程:
步骤一:文件分段
在本地客户端对文件进行分段处理。
- 【可选】创建文件。此处我们构造一个20M大小的文件test.file,如果您已经准备好待上传的文件,可以跳过此步骤。
Linux或macOS环境:
dd if=/dev/urandom of=test.file bs=1M count=20
Windows环境下打开命令提示符cmd,执行以下命令:
fsutil file createnew test.file 20971520
- 将文件进行分段。此处将20M大小的test.file文件,分为5个4M大小的分段,分段名为test-part**,**为00至04的数字后缀。
Linux或macOS环境:
split -b 4M -d test.file test-part
Windows环境,请使用PowerShell运行以下命令:
$inputFile = "test.file" $outputFilePrefix = "test-part" $chunkSize = 4MB $fs = [System.IO.File]::OpenRead($inputFile) $buffer = New-Object byte[] $chunkSize $fileNumber = 0 while ($fs.Position -lt $fs.Length) { $bytesRead = $fs.Read($buffer, 0, $chunkSize) $outputFile = "{0}{1:D2}" -f $outputFilePrefix, $fileNumber $fileStream = [System.IO.File]::Create($outputFile) $fileStream.Write($buffer, 0, $bytesRead) $fileStream.Close() $fileNumber++ } $fs.Close() - 拆分完成后,您能在执行该命令的目录中看到各个分段。每个分段都有一个与其分段编号对应的后缀,例如:

步骤二:初始化上传段任务
调用初始化上传段任务接口,获取多段上传任务ID。
- 进入API Explorer的初始化上传段任务接口调试页面。
- 填写API调用参数。

参数名称
示例
说明
object_key
test.file
对象名,上传成功后桶内对象的名字,是整个对象的名字,不是分段名字。
bucket_name
example-bucket-a
桶名,请单击
选择对象要上传的桶。uploads
置为空值
该参数表明本次API调用是一个分段上传任务,而不是普通的POST上传。单击“置为空值”将参数置空。
- 单击“调试”。
- 调用成功后,可在页面右下角查看响应结果,得到任务ID。
如图所示本次任务的ID为“000001987831FFFAB045B33C8F919FF0”

步骤三:上传段
将步骤一:文件分段中拆分的文件分段上传至桶中。
- 进入API Explorer的上传段接口调试页面。
- 填写API调用参数。

参数名称
示例
说明
object_key
test.file
对象名,上传成功后桶内对象的名字,是整个对象的名字,不是分段名字,与初始化中填写的对象名一致。
bucket_name
example-bucket-a
桶名,请单击
选择对象要上传的桶,与初始化中填写的桶名一致。partNumber
1
上传段的段编号,取值为从1到10000的整数。注意,段编号唯一地标示了段及其位置,每个段必须按照在对象中的位置有序编号,比如20M的对象分成5段,第一段编号为1,第二段编号为2,后面段的段编号必须大于前面的段。
如果您使用之前上传的段的同一段编号上传新段,则之前上传的段将被覆盖。
uploadId
000001987831FFFAB045B33C8F919FF0
上传任务ID,与初始化中获取的任务ID保持一致。
Body
test-part00
分段文件。单击参数框右侧的
,选择分段文件。 - 单击“调试”。
- 调用成功后,右侧调试结果页签会提示“调用成功”,可在页面右下角查看响应结果,响应结果中包含每一个段的ETag值。
- 重复2~3,完成所有分段的上传。
- 完成上传后,调用列举已上传的段接口,填写参数后单击“调试”,查看所有已上传的段。

- 检查分段是否都上传成功,并获取所有段的段号和ETag值。
如果6中列举段接口响应结果包含所有分段,说明所有分段都上传成功,此时请记录响应结果中所有段的段编号和ETag值,这些值将作为下一步合并段的请求参数。
步骤四:合并段
本步骤将上传至桶中的分段合并成一个完整的对象。
- 进入API Explorer的合并段接口调试页面。
- 填写API调用参数。

参数名称
示例
说明
object_key
test.file
对象名,上传成功后桶内对象的名字,是整个对象的名字,不是分段名字,与初始化中填写的对象名一致。
bucket_name
example-bucket-a
桶名,请单击
选择对象要上传的桶,与初始化中填写的桶名一致。uploadId
000001987831FFFAB045B33C8F919FF0
上传任务ID,与初始化中获取的任务ID保持一致。
Body
<CompleteMultipartUpload> <Part> <PartNumber>1</PartNumber> <ETag>"ef0bff811bdb99fb44804719bd0f6877"</ETag> </Part> <Part> <PartNumber>2</PartNumber> <ETag>"ef0bff811bdb99fb44804719bd0f6877"</ETag> </Part> <Part> <PartNumber>3</PartNumber> <ETag>"ef0bff811bdb99fb44804719bd0f6877"</ETag> </Part> <Part> <PartNumber>4</PartNumber> <ETag>"ef0bff811bdb99fb44804719bd0f6877"</ETag> </Part> <Part> <PartNumber>5</PartNumber> <ETag>"ef0bff811bdb99fb44804719bd0f6877"</ETag> </Part> </CompleteMultipartUpload>任务中所有分段的段信息和Etag值,您可以待所有分段都上传后,调用列举段接口批量获取,参见7。或者每上传一个段,在响应结果中获取,参见4。
注意:如果合并段时,遗漏了某个段,那么未被合并的段将会被系统自动删除且不可恢复。例如上传了10个段,但合并时只选择了9个段进行合并,那么遗漏的一个段会被删除且不可恢复。
所以合并段前请列出已上传的段,仔细核对所有段,确保没有段被遗漏。
- 单击“调试”。
- 调用成功后,右侧调试结果页签会提示“调用成功”,响应结果会返回最终的对象名、桶名和完整对象的Etag值:

使用方式
OBS支持通过管理控制台、API、SDK、OBS Browser+、obsutil方式上传对象。
为了提高您上传对象的成功率,对象大于8M时管理控制台会自动使用多段上传,大于50M时OBS Browser+、obsutil会自动使用断点续传(本质上是多段上传)。您无需感知后台的切换动作,您在控制台和工具中的操作保持不变。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在对象列表页,单击“上传对象”,系统弹出“上传对象”对话框。
也可以进入待上传文件的文件夹,单击“上传对象”。

如果待上传至OBS的文件存放在Microsoft OneDrive中,建议这些待上传文件的名称不要超过32位,以保证兼容性。
图2 上传对象
- 指定对象的存储类别。如果不指定,默认与桶的存储类别一致。

对象存储类别和桶存储类别可以不一致。上传对象时,对象的存储类别默认继承桶的存储类别,您也可以重新指定对象的存储类别,同时也支持在对象上传完成后修改对象的存储类别。
- 拖拽本地文件或文件夹至“上传对象”区域框内添加待上传的文件。
也可以通过单击“上传对象”区域框内的“添加文件”,选择本地文件进行添加。
- 服务端加密:开启后,上传到当前桶的对象会被加密。详情请参见服务端加密。

如果桶配置了服务端加密,上传对象时您可以选择“继承桶的加密配置”。
- 可选:如果您需要配置元数据、保留策略、对象标签,可单击“下一步:高级配置(可选)”进行配置。

当桶开启了WORM功能,高级配置才支持配置WORM保留策略。
配置元数据:可配置的对象元数据包括:ContentDisposition、ContentLanguage、WebsiteRedirectLocation、ContentEncoding、ContentType。各元数据具体含义请参见OBS元数据。元数据是一组名称值对,包括名称和值,值不能为空。如需配置多个元数据,单击“添加”即可新增。
保留策略:可选择“继承桶保留策略”或者选择“配置”后输入保留期,自动保护上传到此存储桶的新对象,保证其在指定时间点前不被删除。
配置标签:通过使用标签来标识对象。输入标签键和值。关于标签相关内容,具体请参见对象标签。
- 单击“上传”。
使用API
使用图形化工具OBS Browser+
大于50M的对象OBS Browser+会在后台自动转换为断点续传(本质上是分段上传)。
- 登录OBS Browser+。
- 单击想要上传文件或文件夹的桶。
- 单击“上传”,并选择“添加文件”或“添加文件夹”,如图3所示。
使用“添加文件”功能上传对象时,为了更好的体验,建议您最多同时选择100个文件进行上传,如果超过此限制,建议将多个文件放在文件夹中,然后使用“添加文件夹”功能进行上传。


文件必须有访问权限才可以上传,否则上传任务会失败。
- 在弹出的对话框中,选中需要上传的文件或文件夹后单击“打开”。
客户端支持一次上传一个文件夹,或一次同时上传多个文件。上传多个文件时,按住“Ctrl”或“Shift”同时选择多个文件即可,同时支持“Ctrl+A”全选操作。操作习惯与Windows操作系统上的操作习惯保持一致。
- 单击“确定”。
使用命令行工具obsutil
大于50M的对象obsutil会在后台自动转换为断点续传(本质上是分段上传)。
命令结构:
- Windows操作系统
- 上传文件
obsutil cp file_url obs://bucket[/key] [-arcDir=xxx] [-dryRun] [-link] [-u] [-vlength] [-vmd5] [-p=1] [-threshold=5248800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-o=xxx] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 上传文件夹
obsutil cp folder_url obs://bucket[/key] -r [-arcDir=xxx] [-dryRun] [-link] [-f] [-flat] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 多文件/文件夹上传
obsutil cp file1_url,folder1_url|filelist_url obs://bucket[/prefix] -msm=1 [-r] [-arcDir=xxx] [-dryRun] [-link] [-f] [-u] [-vlength] [-vmd5] [-flat] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx][-timeRange=time1-time2] [-at] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]

命令中的“/prefix”即为上传文件夹时的对象名前缀。运行示例请参见上传示例。
- 上传文件
- Linux/Mac操作系统
- 上传文件
./obsutil cp file_url obs://bucket[/key] [-arcDir=xxx] [-dryRun] [-link] [-u] [-vlength] [-vmd5] [-p=1] [-threshold=5248800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-o=xxx] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 上传文件夹
./obsutil cp folder_url obs://bucket[/key] -r [-arcDir=xxx] [-dryRun] [-link] [-f] [-flat] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-at] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 多文件/文件夹上传
./obsutil cp file1_url,folder1_url|filelist_url obs://bucket[/prefix] -msm=1 [-r] [-arcDir=xxx] [-dryRun] [-link] [-f] [-u] [-vlength] [-vmd5] [-flat] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx][-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]

命令中的“/prefix”即为上传文件夹时的对象名前缀。运行示例请参见上传示例。
- 上传文件
运行示例:
- 以Windows操作系统为例,运行obsutil cp d:\temp\test.txt obs://bucket-test/key,将D盘temp路径下名为test.txt的文件上传至bucket-test桶中,并且重命名为key。
obsutil cp d:\temp\test.txt obs://bucket-test/key Start at 2024-09-30 08:11:41.6724827 +0000 UTC Parallel: 5 Jobs: 5 Threshold: 50.00MB PartSize: auto VerifyLength: false VerifyMd5: false CheckpointDir: C:\Users\Administrator\.obsutil_checkpoint [====================================================] 100.00% 1.68 MB/s 8.46MB/8.46MB 5s Upload successfully, 8.46MB, n/a, d:\temp\test.txt --> obs://bucket-test/key, cost [5], status [200], request id [0000016979E1D2B2860BB5181229C72C]
- 以Windows操作系统为例,运行obsutil cp d:\temp obs://bucket-test -f -r,递归上传D盘temp文件夹中的所有文件和子文件夹至bucket-test桶的temp文件夹中。
obsutil cp d:\temp obs://bucket-test -f -r Start at 2024-09-30 08:14:12.1406275 +0000 UTC Parallel: 5 Jobs: 5 Threshold: 50.00MB PartSize: auto VerifyLength: false VerifyMd5: false CheckpointDir: C:\Users\Administrator\.obsutil_checkpoint Task id: 104786c8-27c2-48fc-bc6a-5886596fb0ed OutputDir: C:\Users\Administrator\.obsutil_output [========================================================] 100.00% tps:35.71 2.02 KB/s 7.20MB/7.20MB 0s Succeed count: 5 Failed count: 0 Succeed bytes: xxx Metrics [max cost:90 ms, min cost:45 ms, average cost:63.80 ms, average tps:35.71, transferred size: 7.20MB] Task id: 104786c8-27c2-48fc-bc6a-5886596fb0ed
- 更多运行示例,请参见常见示例。
参数说明:
参数 | 约束 | 描述 |
|---|---|---|
file_url | 多文件/文件夹上传时可选 上传文件时必选 | 本地文件路径。
|
folder_url | 多文件/文件夹上传时可选 上传文件夹时必选 | 本地文件夹路径。
|
filelist_url | 多文件/文件夹上传时可选 | 包含待上传文件/文件夹列表的文件,必须配置msm=2。 |
bucket | 必选 | 上传文件/文件夹所属的桶的名称。 |
key | 可选 | 上传文件时的对象名或对象名前缀,或上传文件夹时的对象名前缀。 在上传文件或文件夹时,根据指定值的不同情况,对象的上传路径和名称如下:
说明: 您还可以参考上传示例理解该参数的使用方式。 |
fr | 附加参数,上传文件时可选 | 上传文件时生成结果清单文件。 |
flat | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 上传文件夹时,只上传该文件夹下的所有内容。 |
arcDir | 附加参数,可选 | 上传文件成功后的归档路径,上传成功后的文件会移动到该路径下。 |
dryRun | 附加参数,可选 | 测试模式运行,不执行实际的上传操作。 |
link | 附加参数,可选 | 上传软链接文件/文件夹指向的真实路径。
|
u | 附加参数,可选 | 增量上传操作。 设置该参数后,上传每个文件时会对比桶中对应路径的对象,仅在对象不存在,或者对象大小与所上传文件大小不一致,或者对象的最后修改时间早于所上传文件的最后修改时间时进行上传。 在比较每个本地文件与桶内对象差异时,会产生一次HEAD请求费用。 |
vlength | 附加参数,可选 | 上传完成后,验证桶中对象的大小是否与本地文件大小一致。 |
vmd5 | 附加参数,可选 | 上传完成后,验证桶中对象的MD5值是否与本地文件的MD5值一致。
|
p | 附加参数,可选 | 每个分段上传任务的最大并发数。 默认为配置文件中的defaultParallels。 |
threshold | 附加参数,可选 | 开启分段上传任务的阈值。如果待上传的文件小于该阈值,则使用直接上传模式;否则使用分段上传模式。 默认为配置文件中的defaultBigfileThreshold。 单位:字节 支持带容量单位配置,例如:配置1MB代表1048576字节。 说明: 直接上传模式不会产生断点记录文件,不支持断点续传。 |
acl | 附加参数,可选 | 上传文件时可指定对象的预定义访问策略。 支持的值:
|
sc | 附加参数,可选 | 上传文件时可指定的对象的存储类型。 支持的值:
|
meta | 附加参数,可选 | 上传文件时可指定的标准和自定义元数据。
|
ps | 附加参数,可选 | 每个分段上传任务的段大小。
|
cpd | 附加参数,可选 | 生成断点记录文件的文件夹,默认为运行obsutil命令的用户目录的子文件夹.obsutil_checkpoint。 每个分段上传任务会产生唯一对应的断点记录文件并保存至该文件夹的upload子文件夹下。分段任务执行成功后,对应的断点记录文件会被自动删除;分段任务执行失败或被中断后,下次执行该分段任务时会尝试通过对应的断点记录文件恢复任务。 |
r | 附加参数,上传文件夹时必选 多文件上传时可选 | 递归上传文件夹中的所有文件和子文件夹。 |
f | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 强制操作,不进行询问提示。 |
j | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 上传文件夹时批量任务的最大并发数,默认为配置文件中的defaultJobs。 说明: 工具会保证该值至少为1。 |
msm | 附加参数,多文件/文件夹上传时必选 | 开启多文件/文件夹上传模式,支持的值:[1|2]。
|
exclude | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 不包含文件的匹配模式,设置该参数后,如果待上传的文件名匹配该参数,则跳过该文件的上传。如:*.txt,代表所有后缀为.txt的文件自动跳过,不上传。
约束限制: 该匹配模式仅对文件夹中的文件生效。 说明:
|
include | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 包含文件的匹配模式,设置该参数后,如果待上传的文件名匹配该参数,则上传该文件。如:*.txt,代表所有后缀为.txt的文件将会被上传。
约束限制:
示例: ./obsutil cp /localpath/ obs://test/ -include=/localpath/2022-12-09/* -f -r 以上命令的含义是:上传本地路径localpath下符合匹配规则的文件到test桶下,匹配规则是以“/localpath/2022-12-09/”开头的。 说明:
|
at | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 指定按照文件最后访问时间作为timeRange匹配模式,仅上传最后访问时间满足timeRange时间段的文件。 该参数需配合timeRange参数使用。 |
disableDirObject | 附加参数,多文件夹上传时可选 | 上传文件夹时,文件夹本身不会作为一个单独的对象上传,因此在有很多空文件夹的情况下,可以避免无用的文件夹上传到对象存储桶中。如果文件夹下有文件,这些文件会按原有路径格式上传,文件夹结构不受影响。 |
timeRange | 附加参数,多文件/文件夹上传或上传文件夹时可选 | 上传文件时的时间段匹配模式,仅上传最后修改时间在该时间段内的文件。 该匹配模式优先级低于文件名匹配模式:exclude和include,即优先执行exclude和include参数匹配,然后执行该匹配模式。
|
mf | 附加参数,可选 | 设置名称匹配模式(include、exclude)和时间匹配模式(timeRange)对文件夹也生效。 |
o | 附加参数,可选 | 生成结果清单文件的文件夹,命令执行完成后,会在该文件夹下生成结果清单文件(可能包含成功结果、失败结果、警告结果三个文件)。 默认为运行obsutil命令的用户目录的子文件夹.obsutil_output。
|
bucket-cname | 附加参数,可选 | 指定桶绑定的自定义域名 说明: Util 5.7.9版本及以上支持该参数。 |
config | 附加参数,可选 | 运行当前命令时的自定义配置文件。可支持的配置参数请参考配置参数说明。 |
e | 附加参数,可选 | 指定终端节点。 |
i | 附加参数,可选 | 指定用户的AK。 |
k | 附加参数,可选 | 指定用户的SK。 |
t | 附加参数,可选 | 指定用户的securitytoken。 |
响应结果:
字段名 | 描述 |
|---|---|
Parallel | 请求中的-p参数。 |
Jobs | 请求中的-j参数。 |
Threshold | 请求中的-threshold参数。 |
PartSize | 请求中的-ps参数。 |
Exclude | 请求中的-exclude参数。 |
Include | 请求中的-include参数。 |
TimeRange | 请求中的-timeRange参数。 |
VerifyLength | 请求中的-vlength参数。 |
VerifyMd5 | 请求中的-vmd5参数。 |
CheckpointDir | 请求中的-cpd参数。 |
OutputDir | 请求中的-o参数。 |
ArcDir | 请求中的-arcDir参数。 |
Succeed count | 成功的任务数。 |
Failed count | 失败的任务数。 |
Skip count | 增量上传/下载/复制、同步上传/下载/复制跳过的任务数。 说明: 跳过的任务数也会记录到成功的任务数中。 |
Warning count | 执行完成但包含警告的任务数。 说明:
|
Succeed bytes | 上传/下载成功的字节数。 |
max cost | 所有任务中的最长耗时,单位:毫秒。 |
min cost | 所有任务中的最短耗时,单位:毫秒。 |
average cost | 平均耗时,单位:毫秒。 |
average tps | 平均每秒的任务完成个数。 |
Task id | 每次运行的唯一标识号,用于查找批量任务生成的结果清单文件。 |
相关操作
以下是和多段上传相关的其他操作:
拷贝段
什么是拷贝段:多段上传任务创建后,用户可以通过指定多段上传任务ID,为特定的任务调用拷贝段接口,将桶中已上传对象的一部分或全部拷贝为段。
拷贝段的原理:将源对象A拷贝为段part1,如果在拷贝前part1已存在,拷贝后老段数据part1会被新拷贝的段数据覆盖。拷贝成功后,只能列举到最新的段part1,老段数据将会被删除。因此拷贝段前请确保目标段不存在或者已无价值,避免因拷贝段导致数据误删除。拷贝过程中源对象A不会受到任何影响。
如何拷贝段:
如何判断拷贝段是否成功:拷贝段成功的标志是响应消息的body中包含段的ETag值,否则拷贝失败。拷贝段接口返回状态码200并不代表拷贝成功,只是代表服务端已经收到请求,且开始处理拷贝段请求。
相关文档
如果您有大量的数据(大于48.8TB)需要上传至OBS,可以参考搬迁本地数据至OBS和迁移第三方云厂商数据至OBS。



