对象存储服务 OBS-追加上传(Node.js SDK):接口约束

时间:2025-02-12 15:14:02

接口约束

  • 您必须是桶拥有者或拥有上传对象的权限,才能上传对象。建议使用 IAM 或桶策略进行授权,如果使用IAM则需授予obs:object:PutObject权限,如果使用桶策略则需授予PutObject权限。相关授权方式介绍可参见OBS权限控制概述,配置方式详见使用IAM自定义策略配置对象策略
  • OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点
  • 同一个桶中存储的对象名必须是唯一的。
  • 启用服务端加密SSE-C方式时,追加上传和初始化段一样,设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传也必须携带。
  • 启用服务端加密SSE-KMS方式时,有且只有第一次上传且桶内不存在同名对象时,才设置诸如x-obs-server-side-encryption之类的请求Header,后续追加上传不携带,会继承之前的设置。
  • 每次追加上传的长度不能超过对象长度上限5G的限制。
  • 每个Appendable对象追加上传次数最多为10000次。
  • 如果对象存储类别为COLD(归档存储)或深度归档存储,则不能调用该接口。
  • 如果桶设置了跨区域复制配置,则不能调用该接口。
  • 并行文件系统不支持追加上传对象。
  • ObsClient.putObject上传的对象可覆盖ObsClient.appendObject上传的对象,覆盖后对象变为普通对象,不可再进行追加上传。
  • 第一次调用追加上传时,如果已存在同名的普通对象,则会抛出异常(HTTP状态码为409)。
  • 追加上传返回的ETag是当次追加数据内容的ETag,不是完整对象的ETag。
support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0409.html