CompleteMultipartUpload_对象存储_API文档

插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

注意事项

调用 CompleteMultipartUpload 操作时,用户必须提供所有有效的 Part 列表(包括 PartNumber 和 ETag)。OSS 收到用户提交的 Part 列表后,会逐一验证每个 Part 的有效性。当所有的 Part 验证通过后,OSS 将把这些 Part 组合成一个完整的 Object。

  • 确认 Part 的大小:CompleteMultipartUpload 时会确认除最后一个 Part 以外所有 Part 的大小是否都大于或等于 100 KB,并检查用户提交的 Part 列表中的每一个 PartNumber 和 ETag。所以在上传 Part 时,客户端除了需要记录 Part 号码外,还需要记录每次上传 Part 成功后服务器返回的 ETag 值。

  • 处理请求:由于 OSS 处理 CompleteMultipartUpload 请求时会持续一定的时间。在这段时间内,如果客户端与 OSS 之间连接中断,OSS 仍会继续该请求。

  • PartNumber:服务端在调用 CompleteMultipartUpload 接口时会对 PartNumber 做校验。 PartNumber 取值为 1~10000。PartNumber 可以不连续,但必须升序排列。例如第一个 Part 的 PartNumber 是 1,第二个 Part 的 PartNumber 可以是 5。

  • UploadId:同一个 Object 可以同时拥有不同的 UploadId,当 Complete 一个 UploadId 后,此 UploadId 将无效,但该 Object 的其他 UploadId 不受影响。

  • x-oss-server-side-encryption 请求头:如果调用 InitiateMultipartUpload 接口时,指定了 x-oss-server-side-encryption 请求头,则在 CompleteMultipartUpload 的响应头中返回 x-oss-server-side-encryption,其值表示该 Object 的服务器端加密算法。

版本控制

在开启版本控制的情况下,调用 CompleteMultipartUpload 接口来完成整个文件的 MultipartUpload,OSS 会为整个文件生成唯一的版本 ID,并在响应 header 中以 x-oss-version-id 的形式返回。

流控信息

当前云产品API请求速率暂未透出。

授权信息

如下是此API对应的授权信息,用于RAM权限策略语句的Action元素中,为RAM用户或RAM角色授予调用此API的权限。请通过 RAM 访问控制设置,使用方法可参考访问控制帮助文档

具体说明如下:展开详情

操作访问级别资源类型条件关键字关联操作
oss:PutObject
Create
Object
acs:oss:oss-{#regionId}:{#accountId}:{#BucketName}/{#ObjectName}
acs:UserAgent
acs:AccessId
oss:BucketTag
oss:DataAccessPointArn
oss:AccessPointNetworkOrigin
oss:DataAccessPointAccount
oss:TLSVersion
oss:x-oss-object-acl
oss:GetObject

请求语法

POST /{key} HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
x-oss-forbid-overwrite: string
x-oss-complete-all: string
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUpload>
  <Part>
    <PartNumber>integer</PartNumber>
    <ETag>string</ETag>
  </Part>
</CompleteMultipartUpload>

路径参数

字段名称字段详情
keystring

Object 完整路径。

示例值:exampledir/exampleobject.txt

请求参数

字段名称字段详情
bucketstring

Bucket 名称。

示例值:examplebucket
uploadIdstring

此次 MultipartUpload 事件的唯一标识。

示例值:0004B9895DBBB6E****参考取值来源:
    UploadPartCopy
encoding-typeEncodeType

指明返回结果中编码使用的类型。如果请求的参数中指定了 encoding-type,那返回的结果会对 Key 进行编码。

示例值:URL枚举值:url
x-oss-forbid-overwritestring

指定 CompleteMultipartUpload 操作时是否覆盖同名 Object。展开详情

示例值:true
x-oss-complete-allstring

指定是否列举当前 UploadId 已上传的所有 Part。展开详情

示例值:yes
bodyobject

保存 CompleteMultipartUpload 请求内容的请求体。

返回参数

字段名称字段详情
CompleteMultipartUploadResultobject

保存 CompleteMultipartUpload 请求响应内容的容器。

返回示例

变更历史

变更时间变更内容概要操作
2024-02-21
新增请求参数body
变更返回参数

相关示例