本文介绍OSS返回400错误的原因和解决方案。

InvalidBucketName

The specified bucket is not valid

  • 错误原因:Bucket命名不符合规范。
  • 解决方案:检查并确保Bucket命名符合规范。
    Bucket命名规范如下:
    • 只包含小写字母、数字和短划线(-)。
    • 以小写字母或者数字开头和结尾。
    • 长度必须在3~63字符之间。

InvalidObjectName

The Object name can not be empty

  • 错误原因:未指定Object名称。
  • 解决方案:按照Object命名规范指定Object名称。

The Length of Object name must be less than 1024

  • 错误原因:Object名称超出长度限制。
  • 解决方案:确保Object名称长度必须在1~1023字符之间。

The specified object is not valid

  • 错误原因:指定的Object名称无效。
  • 解决方案:检查并确保Object命名符合规范。
    Object命名规范如下:
    • 使用UTF-8编码。
    • 长度必须在1~1023字符之间。
    • 不是以正斜线(/)或者反斜线(\)开头。

TooManyBuckets

You have attempted to create more buckets than allowed

  • 错误原因:同一阿里云账号在同一地域内创建的Bucket数量已达到最大值100个。
  • 解决方案:
    • Bucket容量没有限制,您可以在Bucket中创建新目录区分存储的内容。关于如何创建目录,请参见创建目录
    • 您可以删除不再需要的Bucket。关于如何删除Bucket,请参见删除存储空间
      警告 Bucket删除后不可恢复,请谨慎操作。
    • 如需调整Bucket数量上限,请提交工单申请。

RequestIsNotMultiPartContent

Bucket POST must be of the enclosure-type multipart/form-data

  • 错误原因:Post操作提交表单编码不是multipart/form-data类型。
  • 解决方案:Post操作提交表单编码必须为multipart/form-data,即Header中Content-Typemultipart/form-data;boundary=xxxxxx形式,boundary为边界字符串。详情请参见PostObject

NotImplemented

A header you provided implies functionality that is not implemented

  • 错误原因:封装API时传递了错误的或者不支持的参数。
  • 解决方案:请参见API概览中相应的API,填写正确的参数格式。

MissingArgument

Missing Some Required Arguments

  • 错误原因:封装API时缺少必选参数。
  • 解决方案:请参见API概览中相应的API,补充必选参数。

InvalidArgument

Invalid Argument. Parameter is invalid

  • 错误原因:参数格式不符合要求。

  • 解决方案:请参见API概览中相应的API,填写正确的参数格式。

The callback signature version is invalid

  • 错误原因:签名版本不支持。
  • 解决方案:请确认当前签名为1.0或2.0版本。

Copy Source must mention the source bucket and key: /sourcebucket/sourcekey

  • 错误原因:拷贝文件时,没有指定源Bucket和源Object。
  • 解决方案:拷贝文件时,需按照/sourcebucket/sourcekey的格式指定拷贝的源地址参数x-oss-copy-source。例如源Bucket为examplebucket,源Object为exampleobject,则拷贝文件时x-oss-copy-source应指定为/examplebucket/exampleobject

KMSMasterKeyID is not applicable if the default sse algorithm is not KMS

  • 错误原因:当SSEAlgorithm取值为AES256时,填写了KMSMasterKeyID
  • 解决方案:仅当SSEAlgorithm取值为KMS且使用指定的密钥加密时,需填写KMSMasterKeyID

KMSMasterKeyID is not applicable if user is not in white list.或SM4 is not applicable if user is not in white list

  • 错误原因:用户无操作权限。
  • 解决方案:只有Bucket拥有者或者授权的RAM用户才能为Bucket设置加密规则。详情请参见PutBucketEncryption

No such bucket storage class exists

  • 错误原因:指定的Bucket存储类型不存在。
  • 解决方案:OSS仅支持Standard(标准存储)、低频访问(IA)、Archive(归档)和ColdArchive(冷归档)四种存储类型。详情请参见PutBucket

Invalid version id specified

  • 错误原因:指定的Object版本ID无效。
  • 解决方案:请通过GetBucketVersions (ListObjectVersions)接口确认Bucket是否已开启版本控制,以及Object填写的版本ID是否正确。

Version id can not be the empty string

Authorization header is invalid

  • 错误原因:Authorization头部计算方法中涉及参数填写无效。
  • 解决方案:请参考以下说明排查Authorization头部计算。
    • 计算方法
      Authorization = "OSS " + AccessKeyId + ":" + Signature
      Signature = base64(hmac-sha1(AccessKeySecret,
                  VERB + "\n"
                  + Content-MD5 + "\n" 
                  + Content-Type + "\n" 
                  + Date + "\n" 
                  + CanonicalizedOSSHeaders
                  + CanonicalizedResource))
    • 参数说明
      参数 类型 是否必选 示例值 说明
      AccessKeyId 字符串 LTAI4FixJvEPgvZ6g5cC**** 密钥中的AccessKey ID。
      AccessKeySecret 字符串 Q0YehC6ZyugWfjod5y8Rcqrc1y**** 密钥中的AccessKey Secret。
      VERB 枚举值 PUT HTTP请求的Method,包含PUT、GET、POST、HEAD、DELETE、OPTIONS等。
      \n 字符串 \n 换行符。
      Content-MD5 字符串 eB5eJF1ptWaXm4bijSPyxw== 请求内容数据的MD5值,对消息内容(不包括头部)计算MD5值获得128比特位数字,对该数字进行base64编码得出。更多信息,请参见RFC2616 Content-MD5

      该请求头可用于消息合法性的检查(消息内容是否与发送时一致),也可以为空。

      关于Content-MD5的计算方法,请参见Content-MD5的计算方法

      Content-Type 字符串 application/octet-stream 请求内容的类型,也可以为空。
      Date 字符串 Sun, 22 Nov 2015 08:16:38 GMT 此次操作的时间,Date必须为GMT格式且不能为空。
      重要 如果请求中的Date时间和OSS服务器的当前时间差15分钟以上,OSS服务器将拒绝该请求,并返回HTTP 403错误。
      CanonicalizedOSSHeaders 字符串 x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n x-oss-为前缀的HTTP Header的字典序排列,可以为空。
      • 如果设置CanonicalizedOSSHeaders为空,则无需在最后添加分隔符\n
      • 如果只有一个CanonicalizedOSSHeaders,则需要在最后添加分隔符\n,例如x-oss-meta-a\n
      • 如果有多个CanonicalizedOSSHeaders,则需要在每一个CanonicalizedOSSHeaders之后添加分隔符\n,例如x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n

      关于CanonicalizedOSSHeaders的构建方法,请参见构建CanonicalizedOSSHeaders的方法

      CanonicalizedResource 字符串 /examplebucket/ 用户想要访问的OSS资源,不能为空。

      关于CanonicalizedResource的构建方法,请参见构建CanonicalizedOSSHeaders的方法

    • 签名示例
      请求 签名字符串计算公式 签名字符串
      PUT /nelson HTTP/1.0 Content-MD5: eB5eJF1ptWaXm4bijSPyxw== Content-Type: text/html Date: Wed, 28 Dec 2022 10:27:41 GMT Host: examplebucket.oss-cn-hangzhou.aliyuncs.com x-oss-meta-author: alice x-oss-meta-magic: abracadabra Signature = base64(hmac-sha1(AccessKeySecret,VERB + “\n” + Content-MD5 + “\n”+ Content-Type + “\n” + Date + “\n” + CanonicalizedOSSHeaders+ CanonicalizedResource)) PUT\n eB5eJF1ptWaXm4bijSPyxw==\n text/html\n Wed, 28 Dec 2022 10:27:41 GMT\n x-oss-meta-magic:abracadabra\nx-oss-meta-author:alice\n/examplebucket/nelson

      假设AccessKey ID为LTAI4FixJvEPgvZ6g5cC****,AccessKey Secret为Q0YehC6ZyugWfjod5y8Rcqrc1y****,此处以Python为例介绍计算签名(Signature)的方法。

      import hmac
      import hashlib
      import base64
      
      h = hmac.new("Q0YehC6ZyugWfjod5y8Rcqrc1y****".encode('utf-8'),
                   "PUT\nODBGOERFMDMzQTczRUY3NUE3NzA5QzdFNUYzMDQxNEM\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-magic:abracadabra\nx-oss-meta-author:alice\n/oss-example/nelson".encode('utf-8'), hashlib.sha1)
      signature =  base64.encodestring(h.digest())
      print(signature)

      签名(Signature)计算结果为J9Nl3b+xdEKNQGWFhhZpjSLm****,结合Authorization头的结构组成,需要发送的消息体如下。

      PUT /nelson HTTP/1.0
      Authorization:OSS LTAI4FixJvEPgvZ6g5cC****:J9Nl3b+xdEKNQGWFhhZpjSLm****
      Content-Md5: eB5eJF1ptWaXm4bijSPyxw==
      Content-Type: text/html
      Date: Wed, 28 Dec 2022 10:27:41 GMT
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      x-oss-meta-author: alice
      x-oss-meta-magic: abracadabra

Authorization header is invalid, bad num of Items in Authorization header

  • 错误原因:Authorization头部计算方法中涉及参数填写错误。
  • 解决方案:请参考下表参数说明完成Authorization头部计算。
    参数 类型 是否必选 示例值 说明
    AccessKeyId 字符串 LTAI4FixJvEPgvZ6g5cC**** 密钥中的AccessKey ID。
    AccessKeySecret 字符串 Q0YehC6ZyugWfjod5y8Rcqrc1y**** 密钥中的AccessKey Secret。
    VERB 枚举值 PUT HTTP请求的Method,包含PUT、GET、POST、HEAD、DELETE、OPTIONS等。
    \n 字符串 \n 换行符。
    Content-MD5 字符串 eB5eJF1ptWaXm4bijSPyxw== 请求内容数据的MD5值,对消息内容(不包括头部)计算MD5值获得128比特位数字,对该数字进行base64编码得出。更多信息,请参见RFC2616 Content-MD5

    该请求头可用于消息合法性的检查(消息内容是否与发送时一致),也可以为空。

    关于Content-MD5的计算方法,请参见Content-MD5的计算方法

    Content-Type 字符串 application/octet-stream 请求内容的类型,也可以为空。
    Date 字符串 Sun, 22 Nov 2015 08:16:38 GMT 此次操作的时间,Date必须为GMT格式且不能为空。
    重要 如果请求中的Date时间和OSS服务器的当前时间差15分钟以上,OSS服务器将拒绝该请求,并返回HTTP 403错误。
    CanonicalizedOSSHeaders 字符串 x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n x-oss-为前缀的HTTP Header的字典序排列,可以为空。
    • 如果设置CanonicalizedOSSHeaders为空,则无需在最后添加分隔符\n
    • 如果只有一个CanonicalizedOSSHeaders,则需要在最后添加分隔符\n,例如x-oss-meta-a\n
    • 如果有多个CanonicalizedOSSHeaders,则需要在每一个CanonicalizedOSSHeaders之后添加分隔符\n,例如x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n

    关于CanonicalizedOSSHeaders的构建方法,请参见构建CanonicalizedOSSHeaders的方法

    CanonicalizedResource 字符串 /examplebucket/ 用户想要访问的OSS资源,不能为空。

    关于CanonicalizedResource的构建方法,请参见构建CanonicalizedOSSHeaders的方法

AccessKeyId or Signature is missing in Authorization header value

  • 错误原因:Authorization头部计算方法中缺失AccessKey ID和Signature参数。
  • 解决方法:在Authorization头部计算方法中添加参数AccessKey ID,并按照以下签名示例完成签名计算。
    请求 签名字符串计算公式 签名字符串
    PUT /nelson HTTP/1.0 Content-MD5: eB5eJF1ptWaXm4bijSPyxw== Content-Type: text/html Date: Wed, 28 Dec 2022 10:27:41 GMT Host: examplebucket.oss-cn-hangzhou.aliyuncs.com x-oss-meta-author: alice x-oss-meta-magic: abracadabra Signature = base64(hmac-sha1(AccessKeySecret,VERB + “\n” + Content-MD5 + “\n”+ Content-Type + “\n” + Date + “\n” + CanonicalizedOSSHeaders+ CanonicalizedResource)) PUT\n eB5eJF1ptWaXm4bijSPyxw==\n text/html\n Wed, 28 Dec 2022 10:27:41 GMT\n x-oss-meta-magic:abracadabra\nx-oss-meta-author:alice\n/examplebucket/nelson

    假设AccessKey ID为LTAI4FixJvEPgvZ6g5cC****,AccessKey Secret为Q0YehC6ZyugWfjod5y8Rcqrc1y****,此处以Python为例介绍计算签名(Signature)的方法。

    import hmac
    import hashlib
    import base64
    
    h = hmac.new("Q0YehC6ZyugWfjod5y8Rcqrc1y****".encode('utf-8'),
                 "PUT\nODBGOERFMDMzQTczRUY3NUE3NzA5QzdFNUYzMDQxNEM\ntext/html\nWed, 28 Dec 2022 10:27:41 GMT\nx-oss-meta-magic:abracadabra\nx-oss-meta-author:alice\n/oss-example/nelson".encode('utf-8'), hashlib.sha1)
    signature =  base64.encodestring(h.digest())
    print(signature)

    签名(Signature)计算结果为J9Nl3b+xdEKNQGWFhhZpjSLm****,结合Authorization头的结构组成,需要发送的消息体如下。

    PUT /nelson HTTP/1.0
    Authorization:OSS LTAI4FixJvEPgvZ6g5cC****:J9Nl3b+xdEKNQGWFhhZpjSLm****
    Content-Md5: eB5eJF1ptWaXm4bijSPyxw==
    Content-Type: text/html
    Date: Wed, 28 Dec 2022 10:27:41 GMT
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    x-oss-meta-author: alice
    x-oss-meta-magic: abracadabra

Authorization header value is empty

  • 错误原因:Authorization头部计算方法中相关参数取值为空。
  • 解决方案:请参考下表参数说明完成Authorization头部计算。
    参数 类型 是否必选 示例值 说明
    AccessKeyId 字符串 LTAI4FixJvEPgvZ6g5cC**** 密钥中的AccessKey ID。
    AccessKeySecret 字符串 Q0YehC6ZyugWfjod5y8Rcqrc1y**** 密钥中的AccessKey Secret。
    VERB 枚举值 PUT HTTP请求的Method,包含PUT、GET、POST、HEAD、DELETE、OPTIONS等。
    \n 字符串 \n 换行符。
    Content-MD5 字符串 eB5eJF1ptWaXm4bijSPyxw== 请求内容数据的MD5值,对消息内容(不包括头部)计算MD5值获得128比特位数字,对该数字进行base64编码得出。更多信息,请参见RFC2616 Content-MD5

    该请求头可用于消息合法性的检查(消息内容是否与发送时一致),也可以为空。

    关于Content-MD5的计算方法,请参见Content-MD5的计算方法

    Content-Type 字符串 application/octet-stream 请求内容的类型,也可以为空。
    Date 字符串 Sun, 22 Nov 2015 08:16:38 GMT 此次操作的时间,Date必须为GMT格式且不能为空。
    重要 如果请求中的Date时间和OSS服务器的当前时间差15分钟以上,OSS服务器将拒绝该请求,并返回HTTP 403错误。
    CanonicalizedOSSHeaders 字符串 x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n x-oss-为前缀的HTTP Header的字典序排列,可以为空。
    • 如果设置CanonicalizedOSSHeaders为空,则无需在最后添加分隔符\n
    • 如果只有一个CanonicalizedOSSHeaders,则需要在最后添加分隔符\n,例如x-oss-meta-a\n
    • 如果有多个CanonicalizedOSSHeaders,则需要在每一个CanonicalizedOSSHeaders之后添加分隔符\n,例如x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n

    关于CanonicalizedOSSHeaders的构建方法,请参见构建CanonicalizedOSSHeaders的方法

    CanonicalizedResource 字符串 /examplebucket/ 用户想要访问的OSS资源,不能为空。

    关于CanonicalizedResource的构建方法,请参见构建CanonicalizedOSSHeaders的方法

Unknown parameter in Authorization header

  • 错误原因:Authorization头部计算方法中出现未知参数。
  • 解决方案:请参考下表参数说明完成Authorization头部计算。
    参数 类型 是否必选 示例值 说明
    AccessKeyId 字符串 LTAI4FixJvEPgvZ6g5cC**** 密钥中的AccessKey ID。
    AccessKeySecret 字符串 Q0YehC6ZyugWfjod5y8Rcqrc1y**** 密钥中的AccessKey Secret。
    VERB 枚举值 PUT HTTP请求的Method,包含PUT、GET、POST、HEAD、DELETE、OPTIONS等。
    \n 字符串 \n 换行符。
    Content-MD5 字符串 eB5eJF1ptWaXm4bijSPyxw== 请求内容数据的MD5值,对消息内容(不包括头部)计算MD5值获得128比特位数字,对该数字进行base64编码得出。更多信息,请参见RFC2616 Content-MD5

    该请求头可用于消息合法性的检查(消息内容是否与发送时一致),也可以为空。

    关于Content-MD5的计算方法,请参见Content-MD5的计算方法

    Content-Type 字符串 application/octet-stream 请求内容的类型,也可以为空。
    Date 字符串 Sun, 22 Nov 2015 08:16:38 GMT 此次操作的时间,Date必须为GMT格式且不能为空。
    重要 如果请求中的Date时间和OSS服务器的当前时间差15分钟以上,OSS服务器将拒绝该请求,并返回HTTP 403错误。
    CanonicalizedOSSHeaders 字符串 x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n x-oss-为前缀的HTTP Header的字典序排列,可以为空。
    • 如果设置CanonicalizedOSSHeaders为空,则无需在最后添加分隔符\n
    • 如果只有一个CanonicalizedOSSHeaders,则需要在最后添加分隔符\n,例如x-oss-meta-a\n
    • 如果有多个CanonicalizedOSSHeaders,则需要在每一个CanonicalizedOSSHeaders之后添加分隔符\n,例如x-oss-meta-a:a\nx-oss-meta-b:b\nx-oss-meta-c:c\n

    关于CanonicalizedOSSHeaders的构建方法,请参见构建CanonicalizedOSSHeaders的方法

    CanonicalizedResource 字符串 /examplebucket/ 用户想要访问的OSS资源,不能为空。

    关于CanonicalizedResource的构建方法,请参见构建CanonicalizedOSSHeaders的方法

Either the Signature query string parameter or the Authorization header should be specified, not both

  • 错误原因

    同一个请求中,在请求Header中存在用于签名的Authorization字段,且在请求URI中存在用于签名的OSSAccessKeyId、Expires和Signature字段。示例如下:

    PUT /example_file?OSSAccessKeyId=nz2pc56s936****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
    Authorization:OSS LTAI4FixJvEPgvZ6g5cC****:al2vHOlTWQdQtM6oqJAEZh7d****
    Content-Md5: eB5eJF1ptWaXm4bijSPyxw==
    Content-Type: text/html
    Date: Tue, 20 Dec 2022 08:48:18 GMT
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
  • 解决方法

    同一个请求中,仅使用Header签名或仅使用URI签名。

    仅使用Header签名示例如下:

    PUT /example_file HTTP/1.0
    Authorization:OSS LTAI4FixJvEPgvZ6g5cC****:al2vHOlTWQdQtM6oqJAEZh7d****
    Content-Md5: eB5eJF1ptWaXm4bijSPyxw==
    Content-Type: text/html
    Date: Tue, 20 Dec 2022 08:48:18 GMT
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com

    仅使用URI签名示例如下:

    PUT /example_file?OSSAccessKeyId=nz2pc56s936****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
    Content-Md5: eB5eJF1ptWaXm4bijSPyxw==
    Content-Type: text/html
    Date: Tue, 20 Dec 2022 08:48:18 GMT
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com

Post request accessKeyId is empty

  • 错误原因:Post请求Header中缺少OSSAccessKeyId表单域。
  • 解决方案:当Bucket为非public-read-write或者提供了Policy(或Signature)表单域时,必须提供OSSAccessKeyId表单域。

Post request signature is empty

  • 错误原因:Post请求Header中缺少签名信息。
  • 解决方案:当Bucket为非public-read-write或者提供了OSSAccessKeyId(或Policy)表单域时,必须提供Signature表单域。

    计算Signature的具体流程如下:

    1. 创建一个UTF-8编码的Policy。
    2. 将Policy进行Base64编码,其值即为Policy表单域填入的值,将该值作为将要签名的字符串。
    3. 使用AccessKeySecret对要签名的字符串进行签名,签名方法为Signature = base64(hmac-sha1(base64(policy), AccessKeySecret))

OSS authentication requires a valid Date

  • 错误原因:Authorization头中的Date无效。
  • 解决方案:Date表示此次操作的时间,且必须为GMT格式,例如Sun, 22 Nov 2015 08:16:38 GMT

The bucket POST must contain the specified field name

  • 错误原因:POST请求表单中包含无效参数,或者参数格式不正确。
  • 解决方案:请参见PostObject填写规范的参数。

The bucket POST contains unrecognized field name

  • 错误原因:filename字段的下一行包含了自定义参数。
  • 解决方案:filename字段的下一行必须为规范的Content-Type参数。如下图所示:file-name

The bucket POST must contain the specified 'key'. If it is specified, please check the order of the fields

  • 错误原因:Post请求中未指定key表单域,或者指定的key表单域顺序有误。
  • 解决方案:您需要在Post请求中指定key表单域,且key表单域须排在file表单域之前。

Post body size must be less than 5G

  • 错误原因:Post请求的Body总长度超过5 GB。
  • 解决方案:Post请求的Body总长度不允许超过5 GB。详情请参见PostObject

The callback configuration is not base64 encoded

  • 错误原因:Callback参数未经过Base64编码。
  • 解决方案:Callback参数必须为经过Base64编码的JSON字符串,且必须指定请求回调的服务器URL以及回调的内容。详情请参见Callback

The callback configuration is not json format

  • 错误原因:Callback参数不是JSON格式。
  • 解决方案:Callback参数必须为经过Base64编码的JSON字符串。示例如下:
    {
    "callbackUrl":"121.101.XX.XX/test.php",
    "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
    "callbackBody":"{\"mimeType\":${mimeType},\"size\":${size}}",
    "callbackBodyType":"application/json"
    }

The callback url configuration is invalid

  • 错误原因:Callback参数没有指定请求回调的服务器 URL(callbackUrl)。
  • 解决方案:Callback参数必须为经过Base64编码的JSON字符串,且必须指定请求回调的服务器URL以及回调的内容。

The callback host configuration is invalid

  • 错误原因:callbackHost参数无效,无法进行JSON解析。
  • 解决方案:callbackHost表示发起回调请求的Host头,例如oss-cn-hangzhou.aliyuncs.com。如果没有配置callbackHost,则解析callbackUrl中的URL,并将URL中解析到的Host填充到callbackHost中。

The callback body type configuration is invalid.或The body type of callback is not supported

  • 错误原因:callbackBodyType参数无效,无法进行JSON解析。
  • 解决方案:callbackBodyType表示发起回调请求的Content-Type,支持application/x-www-form-urlencodedapplication/json

The number of callback url exceed max value

  • 错误原因:请求的callbackurl个数超过5个。
  • 解决方案:OSS支持同时配置最多5个URL,每个URL之间以分号(;)分隔。

The header value specified by persistent header is not utf-8 encoded

  • 错误原因:用户自定义Header中的Value值不合法。
  • 解决方案:对自定义Header中Value值包含的中文等特殊字符进行UTF-8编码。

The header value specified by persistent header is not equal to reqeust header value

  • 错误原因:用户自定义Header与请求头中的Header重名时,两者的Value值不一致。
  • 解决方案:用户自定义Header与请求头中的Header重名时,两者的Value值需保持一致。

The header value specified by persistent header contains CR or LF

  • 错误原因:用户自定义Header中的Value值包含了回车符\r或换行符\n
  • 解决方案:请删除用户自定义Header中Value值包含的回车符\r和换行符\n

Either the callback query string parameter or the x-oss-callback header should be specified, not both

  • 错误原因:请求URL和请求Header中同时包含了callback参数。
  • 解决方案:仅允许在请求URL或请求Header中包含callback参数。

Either the callback-var query string parameter or the x-oss-callback-var header should be specified, not both

  • 错误原因:请求URL和请求Header中同时包含了callback var参数。
  • 解决方案:仅允许在请求URL或请求Header中包含callback var参数。

x-oss-traffic-limit should be specified either in query string or header, not both

  • 错误原因:请求URL和请求Header中同时包含了单链接限速参数x-oss-traffic-limit
  • 解决方案:仅允许在请求URL或请求Header中包含单链接限速参数x-oss-traffic-limit

x-oss-traffic-limit is invalid, should be specified between 819200(100KB/s) and 838860800(100MB/s)

  • 错误原因:单链接限速取值无效。
  • 解决方案:单链接限速取值范围为819200~838860800,即100 KB/s~100 MB/s。

The format of persistent header is invalid, should be \"name:Base64Encode(value),name:Base64Encode(value)...\".或The header value specified by persistent header is not base64 encoded

  • 错误原因:用户自定义Header的格式错误。
  • 解决方案:用户自定义Header格式为x-oss-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2)....。其中key1、key2等为自定义的Header,value1、value2为自定义Header对应的值,Base64_encode表示对自定义Header的值进行Base64编码。

    例如自定义Header为myheader1和myheader2,其值分别为myvalue1、myvalue2,则自定义请求Header应为x-oss-persistent-headers:myheader1:bXl2YWx1ZTE=,myheader2:bXl2YWx1ZTI=

The header 'x-oss-tagging' shall be encoded as UTF-8 then URLEncoded URL query parameters without tag name duplicates

  • 错误原因:标签中Key和Value值未进行URL编码,且Key值重复。
  • 解决方案:对象标签使用一组键值对(Key-Value)标记对象,对象标签规则如下:
    • 单个Object最多可设置10个标签,Key不可重复。
    • 每个Key长度不超过128字符,每个Value长度不超过256字符。
    • Key和Value区分大小写。
    • 标签合法字符集包括大小写字母、数字、空格和以下符号:

      +‑=._:/

      通过HTTP Header的方式设置标签且标签中包含任意字符时,您需要对标签的Key和Value做URL编码。

The header specified by persistent header is reserved

  • 错误原因:用户自定义Header中与HTTP中规定的标准头冲突。
  • 解决方案:用户自定义Header中不能指定HTTP中规定的标准头,例如HostContent-MD5OriginRange等。

The header specified by persistent header is not valid HTTP token

  • 错误原因:用户自定义Header包含非法字符。
  • 解决方案:OSS遵循RFC7230规范,请根据RFC7230规范判断HTTP Header是否包含非法字符。

Can not get ip by this host

  • 错误原因:Host无效。
  • 解决方案:Host包含Bucket域名以及IP地址两种。Bucket域名格式为BucketName.Endpoint,例如examplebucket.oss-cn-hangzhou.aliyuncs.com。如Host为IP地址,需确保IP地址有效。

Private address is forbidden to callback

  • 错误原因:OSS无法向内网IP地址发送callback请求。
  • 解决方案:请使用公网地址发送callback请求。

The length of callback exceed max value

  • 错误原因:callback参数的Base64编码总长度超过了5 KB。
  • 解决方案:callback参数的Base64编码总长度最大为5 KB。

The callback body is empty

  • 错误原因:没有填写callbackBody参数。
  • 解决方案:Callback参数必须为经过Base64编码的JSON字符串,且必须指定请求回调的服务器URL(callbackUrl)以及回调的内容(callbackBody)。

The callback body is invalid

  • 错误原因:callbackBody参数无效,无法进行JSON解析。
  • 解决方案:callbackBody表示发起回调时请求Body的值,例如key=$(object)&etag=$(etag)&my_var=$(x:my_var)。请参见Callback进行排查。

The length of callback var exceed max value

  • 错误原因:callback var参数的Base64编码总长度超过了5 KB。
  • 解决方案:callback var参数的Base64编码总长度最大为5 KB。

The callback var is not expecten json

  • 错误原因:callback-var参数不是JSON格式。
  • 解决方案:callback-var用于配置自定义参数,自定义参数格式为Key-Value对,Key要以 x: 开头且必须为小写格式。假设需要设置的Key分别为x:var1 x:var2,对应的值分别为value1和value2,则JSON格式如下:
    {
    "x:var1":"value1",
    "x:var2":"value2"
    }

Invalid date. Must be later than 1970-01-01 00:00:00

  • 错误原因:时间参数无效,Unix时间戳小于0。
  • 解决方案:Unix时间戳必须大于0。

Invalid date. Cannot be later than the current time

  • 错误原因:时间参数无效,Unix时间戳晚于当前时间。
  • 解决方案:Unix时间戳必须早于当前时间。

Bad date format

  • 错误原因:时间参数无效。
  • 解决方案:时间格式需遵从RFC 1123标准,例如Sun, 06 Nov 1994 08:49:37 GMT

The Versioning element must be specified

  • 错误原因:<VersioningConfiguration>字段中未指定Bucket的版本控制状态。
  • 解决方案:在<VersioningConfiguration>字段中指定Bucket的版本控制状态。示例如下:
    PUT /?versioning HTTP/1.1
    Host: bucket-versioning.oss-cn-hangzhou.aliyuncs.com
    Date: Tue, 09 Apr 2019 02:20:12 GMT
    Authorization: OSS e7thre3jj5mlvqk:12ztptkaR8a74gIGFzOaZZQe****
    <?xml version="1.0" encoding="UTF-8"?>
    <VersioningConfiguration>
        <Status>Enabled</Status>
    <VersioningConfiguration>

RepeatedTags

Tag keys must be unique

  • 错误原因:标签中的Key已存在。
  • 解决方案:调用GetBucketTags获取存储空间已配置的标签信息,然后参见PutBucketTags配置新的标签。

InvalidHostPutBucket

Your host is invalid. Please put bucket use Open Storage Service standard host

  • 错误原因:Host参数错误。
  • 解决方案:请使用标准访问域名。有关访问域名和数据中心的更多信息,请参见访问域名和数据中心

InvalidEncryptionAlgorithmError

The encryption algorithm specified is not valid.或The Encryption request you specified is not valid. Supported value: AES256/SM4/KMS

  • 错误原因:x-oss-server-side-encryption参数指定的值无效。
  • 解决方案:x-oss-server-side-encryption有效值为AES256KMSSM4。有关服务器端加密方式的更多信息,请参见PutObject

InvalidDataEncryptionAlgorithmError

The KMS Data Encryption request you specified is not valid. Supported value:SM4

  • 错误原因:指定的Object加密算法无效。
  • 解决方案:当Object的加密方式为KMS时,加密算法仅支持SM4。更多信息,请参见服务器端加密

InvalidParameter

The specified parameter KMS keyId is not valid

  • 错误原因:指定的CMK ID无效。
  • 解决方案:当Object加密方式为KMS且使用指定的密钥加密时,需输入CMK ID。CMK ID示例值为9468da86-3509-4f8d-a61e-6eab1eac****

InvalidWORMConfiguration

Invalid WORM Configuration

  • 错误原因:合规保留策略无效。
  • 解决方案:通过InitiateBucketWorm接口新建合规保留策略示例如下:
    POST /?worm HTTP/1.1
    Date: Thu, 15 May 2014 11:18:32 GMT
    Content-Length:556
    Content-Type: application/xml
    Host: BucketName.oss.aliyuncs.com
    Authorization: OSS nxj7dtlhcyl5hp****:COS3OQkfQPnKmYZTEHYv2****
    
    <InitiateWormConfiguration>
      <RetentionPeriodInDays>365</RetentionPeriodInDays>
    </InitiateWormConfiguration>

InventoryExceedLimit

You are not allowed to create more inventory than limit

  • 错误原因:单个Bucket配置的清单规则已达到最大值1000条。
  • 解决方案:如需调整清单规则上限,请提交工单。

DailyInventoryExceedLimit

daily inventory object count exceed limit

  • 错误原因:以天为单位导出清单文件时,Bucket中的文件数量超出限制。
  • 解决方案:以天为单位导出清单文件时,Bucket中的文件数量必须小于10亿。您可以通过ListObjectsV2(GetBucketV2)接口获取Bucket内的文件数量。

WeeklyInventoryExceedLimit

weekly inventory object count exceed limit

  • 错误原因:以周为单位导出清单文件时,Bucket中的文件数量超出限制。
  • 解决方案:以周为单位导出清单文件时,Bucket中的文件数量必须小于100亿。您可以通过ListObjectsV2(GetBucketV2)接口获取Bucket内的文件数量。

BadRequest

Insufficient information. Origin request header needed

  • 错误原因:缺少Origin请求头。

  • 解决方案:浏览器在发送跨域请求之前会发送一个preflight请求(OPTIONS)给OSS,并带上特定的请求头Origin,用于标识跨域请求的来源域。示例如下:origin

Insufficient information. Request Access-Control-Request-Method header neede

  • 错误原因:缺少Access-Control-Request-Method请求头。

  • 解决方案:浏览器在发送跨域请求之前会发送一个preflight请求(OPTIONS)给OSS,并带上特定的请求头Access-Control-Request-Method,用于标识实际请求所用的方法。示例如下:method

RequestTimeout

Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed

  • 错误原因:因网络环境或网络配置等引起的网络超时。
  • 解决方案:请参见网络超时处理

InvalidTaggingKey

The tagging key you provided is invalid

  • 错误原因:对象标签中配置的Key不合法。
  • 解决方案:对象标签使用一组键值对(Key-Value)标记对象,对象标签规则如下:
    • 每个Key长度不超过128字符,每个Value长度不超过256字符。
    • Key和Value区分大小写。
    • 标签合法字符集包括大小写字母、数字、空格和以下符号:

      +‑=._:/

      通过HTTP Header的方式设置标签且标签中包含任意字符时,您需要对标签的Key和Value做URL编码。

TooManyCname

You have attempted to create more cname than allowed

  • 错误原因:单个Bucket可绑定的域名数量已达到最大值100个。
  • 解决方案:如需调整Bucket域名上限,请提交工单。

InvalidChannelName

The Length of channel name must be less than 64

  • 错误原因:Channel名称长度超出限制。
  • 解决方案:确保Channel名称长度必须在1~64字符之间。

ChannelName must not be empty

  • 错误原因:Channel名称字段缺失。
  • 解决方案:请按照命名规范填写Channel名称。
    • 使用UTF-8编码。
    • 长度必须在1~64字符之间。
    • 不能包含正斜线(/)或者反斜线(\)。

The characters encoding must be utf-8

  • 错误原因:Channel名称编码方式错误。
  • 解决方案:Channel名称需使用UTF-8编码。

ChannelName must not contain a slash

  • 错误原因:Channel名称包含了斜线。
  • 解决方案:请确保Channel名称不能包含正斜线(/)或者反斜线(\)。

InvalidPart

One or more of the specified parts could not be found or the specified entity

  • 错误原因:PartNumber或ETag错误导致CompleteMultipartUpload提交的Part无效。
  • 解决方案:服务端在调用CompleteMultipartUpload接口时会对PartNumber和ETag做校验。
    • PartNumber取值为1~10000。PartNumber可以不连续,但必须升序排列。例如第一个Part的PartNumber是1,第二个Part的PartNumber可以是5。
    • 通过CompleteMultipartUpload请求创建的Object,ETag值是其内容的UUID。ETag值可以用于检查Object内容是否发生变化。

InvalidPartOrder

The list of parts was not in ascending order

  • 错误原因:CompleteMultipartUpload提交的Part未按照partNumber升序排列。

  • 解决方案:CompleteMultipartUpload提交的Part需按照partNumber升序排列。例如第一个Part的PartNumber是1,第二个Part的PartNumber可以是5。

Part number must be an integer between 1 and 10000, inclusive

  • 错误原因:无效的PartNumber。

  • 解决方案:请确保PartNumber取值为1~10000。

FilePartNotExist

The Part you read had been deleted

  • 错误原因:请求的Part已删除。
  • 解决方案:请参见CompleteMultipartUpload查看是否已上传所有的Part。

InvalidXMLFormat

The XML you provided was not well-formed

  • 错误原因:参数不符合XML格式。
  • 解决方案:请检查参数是否符合XML格式。

InvalidRequest

Request specific response headers cannot be used for anonymous GET requests

  • 错误原因:请求参数中缺少必选参数。

  • 解决方案:请根据所调用的API接口,检查是否已填写所有必选参数。详情请参见API概览

Security-token must be provided by query string parameter

  • 错误原因:没有携带security-token。

  • 解决方案:临时用户使用URL签名时,必须携带security-token。临时用户使用签名URL的格式为:http://oss-example.oss-cn-hangzhou.aliyuncs.com/oss-api.pdf?OSSAccessKeyId=nz2pc56s936****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv****&security-token=SecurityToken。详情请参见在URL中包含签名

Size of playlist is too big

  • 错误原因:Playlist文件大小超出最大限制。

  • 解决方案:请确保Playlist文件大小不超过1 MB。

No ts found in the playlist

  • 错误原因:未找到ts音视频文件。

  • 解决方案:通过推流的方式上传音视频文件。详情请参见PutLiveChannel

Playlist name must ends with \".m3u8\"

  • 错误原因:文件不以.m3u8结尾。

  • 解决方案:当转储类型为HLS时,指定生成的m3u8文件名称。文件名称需以.m3u8结尾,文件长度在6~128字符之间,例如playlist.m3u8

Master playlist has ts file

  • 错误原因:playlist文件中同时包含了m3u8和ts类型文件。

  • 解决方案:通常playlist文件类型为m3u8,用于记录ts视频文件信息。详情请参见基于OSS构建HLS流

MaxPOSTPreDataLengthExceededError

Your POST request fields preceding the upload file were too large

  • 错误原因:上传的文件过大。通过Post方法上传的文件不能超过5 GB。
  • 解决方案:请参见PostObject错误及排查

TooManyPipes

Maximal number of pipes supported is

  • 错误原因:图片操作次数过多。
  • 解决方案:请减少您的图片操作次数,按提示限制在合法值以下。

FieldItemTooLong

Your name of form field is too long

  • 错误原因:Post请求中表单域过大。
  • 解决方案:除了file表单域外,其他表单域大小不得超过4 KB。请参见PostObject错误及排查

MalformedPOSTRequest

The body of your POST request is not well-formed multipart/form-data

  • 错误原因:PostObject请求中表单域格式不符合要求。
  • 解决方案:遵循表单域格式要求。
    表单域格式如下 :
    Content-Disposition: form-data;
            name="{key}"\r\n\r\n{value}\r\n--{boundary}

    PostObject请求示例如下:

    POST / HTTP/1.1
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.6)
    Content-Type: multipart/form-data; boundary=9431149156168
    Host: xxxx-hz.oss-cn-hangzhou.aliyuncs.com
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Connection: keep-alive
    Content-Length: 5052
    --9431149156168
    Content-Disposition: form-data; name="key"
    test-key
    --9431149156168
    Content-Disposition: form-data; name="Content-Disposition"
    attachment;filename=D:\img\example.png
    --9431149156168
    Content-Disposition: form-data; name="OSSAccessKeyId"
    2NeL********j2Eb
    要求如下:
    • Header必须包含Content-Type: multipart/form-data; boundary={boundary}。
    • Header和Body之间由\r\n--{boundary} 分割。\r\n显示为换行。
    • 表单域名称大小写敏感,如policykeyfileOSSAccessKeyIdOSSAccessKeyIdContent-Disposition
    • 表单域file必须为最后一个表单域。
    • Bucket为public-read-write时,可以不指定表单域OSSAccessKeyIdpolicySignature。如果指定了其中一个,则无论Bucket是否为public-read-write,都必须指定另外两个。
    说明 上面的示例为请求的部分内容,完整的请求请参见PostObject

    如果您还有疑问,请参见示例代码:

InvalidPolicyDocument

Invalid Policy: Invalid Simple-Condition: Simple-Conditions must have exactly one property specified

  • 错误原因:请求Policy中没有包含conditions
  • 解决方案:请求Policy中必须包含至少一项conditions

Invalid Policy: Invalid JSON: unknown char e

  • 错误原因:请求中的Policy格式错误。
  • 解决方案:请检查Policy格式,是否缺失",转义字符前是否有\

Invalid Policy: Invalid JSON: , or ] expected

  • 错误原因:请求中的Policy格式错误。
  • 解决方案:请检查Policy中是否缺少,]

IncorrectNumberOfFilesInPOSTRequest

POST requires exactly one file upload per request

  • 错误原因:Post请求中文件个数无效。Post请求中只能有一个file表单域。
  • 解决方案:确保Post请求中只有一个file表单域。

EntityTooSmall

Your proposed upload smaller than the minimum allowed size

  • 错误原因:上传的Object超出允许的最小值。
  • 解决方案:采用Post方法上传文件时,通过PostPolicy设置表单域的有效值。可使用限定条件content-length-range指定允许上传Object的大小范围。

EntityTooLarge

Your proposed upload exceeds the maximum allowed size或Source object Length exceeds the maximum allowed size

  • 错误原因:上传的Object超出允许的最大值。
  • 解决方案:采用Post方法上传文件时,通过PostPolicy设置表单域的有效值。可使用限定条件content-length-range指定允许上传Object的大小范围。

MalformedXML

The XML you provided was not well-formed or did not validate against our published schema

NoReplicationRule

No replication rule specified

  • 错误原因:请求的Bucket没有配置跨区域复制规则。
  • 解决方案:请参见PutBucketReplication配置跨区域复制规则。

TooManyReplicationRules

OSS only support one replication rule now

  • 错误原因:单个Bucket配置的跨区域复制规则数量超出限制。
  • 解决方案:单个Bucket仅允许配置一条跨区域复制规则。

InvalidBucketStatus

The src and dest bucket must be versioning enabled when drs tagging rule exist

  • 错误原因:跨区域复制的源Bucket和目标Bucket的版本控制状态不一致。
  • 解决方案:跨区域复制的源Bucket和目标Bucket同时处于版本控制或非版本控制状态。

InvalidTargetBucket

The target bucket is invalid for bucket replication

  • 错误原因:跨区域复制的目标Bucket无效。
  • 解决方案:调用GetBucketReplicationLocation获取可复制到的目标存储空间(Bucket)所在的地域。您可以根据返回结果决定将源Bucket的数据复制到哪个地域。

InvalidTargetLocation

The target bucket you specified does not locate in the target location

  • 错误原因:目标地域不存在此Bucket。
  • 解决方案:请检查Bucket所在地域。

BadReplicationLocation

The replication location you choose is invalid

  • 错误原因:跨区域复制对应的目标地域不存在。
  • 解决方案:请检查目标Bucket所在地域。

NoReplicationLocation

The bucket does not have corresponding replication location

  • 错误原因:源Bucket所在的数据中心没有与之配对的可实施跨区域复制的数据中心。
  • 解决方案:请参见GetBucketReplicationLocation进行排查。

BucketReplicationAlreadyExist

Bucket replication already exists

  • 错误原因:源Bucket到目标Bucket已存在跨区域复制关系。
  • 解决方案:如需配置新的跨区域复制规则,请先删除已有的跨区域复制规则后再配置。

TooManyIncomingReplication

You have attempted to create more incoming replication for bucket than allowed

  • 错误原因:与Bucket关联的跨区域复制规则个数已达到100条。
  • 解决方案:单个Bucket支持配置100条跨区域复制规则。如果业务需求超出数量限制,请提交工单联系我们。

TooManyOutgoingReplication

You have attempted to create more outgoing replication for bucket than allowed

  • 错误原因:与Bucket关联的跨区域复制规则个数已达到100条。
  • 解决方案:单个Bucket支持配置100条跨区域复制规则。如果业务需求超出数量限制,请提交工单联系我们。

CORSRuleBeyondLimit

The CORS Rules num is beyond limit

  • 错误原因:Bucket配置的CORS规则数量超出限制。
  • 解决方案:Bucket允许配置最多10条CORS规则。详情请参见PutBucketCors

TooManyTags

The bucket tags num is beyond limit

  • 错误原因:Bucket配置的标签数量超出限制。
  • 解决方案:Bucket允许配置最多20个标签。详情请参见PutBucketTags

TooManyPrefixes

The bucket replication rule's prefixes number is beyond limit

  • 错误原因:跨区域复制规则中配置的前缀数量超出限制。
  • 解决方案:进行跨区域复制时,允许将指定前缀的Object同步到目标Bucket,最多可以添加10个前缀。

TooManyFilterObjectTags

The bucket replication rule's filter object tags number is beyond limit

  • 错误原因:跨区域复制规则中配置的对象标签个数超出限制。
  • 解决方法:同步与指定标签匹配的Object到目标Bucket,最多可添加10个标签。

InvalidDigest

The Content-MD5 you specified was invalid

  • 错误原因:上传的Content-MD5请求头与OSS计算消息体的Content-MD5不一致。
  • 解决方案:请参见Content-MD5的计算方法进行排查。

InvalidCRC64

The x-oss-hash-crc64ecma you specified does not match what we calculated

InlineDataTooLarge

Inline data exceeds the maximum allowed size

  • 错误原因:Object大小超出最大限制。
  • 解决方案:不同上传方式对文件大小的限制如下:
    • 通过简单上传方式上传的Object大小不能超过5 GB。
    • 通过表单上传方式上传的Object大小不能超过5 GB。
    • 通过追加上传方式上传的Object大小不能超过5 GB。
    • 通过分片上传方式上传的Object大小不能超过48.8 TB。

ImageTooLarge

Maximal size of image supported is

  • 错误原因:图片大小超出限制。
  • 解决方案:原图文件大小限制如下:
    • 原图文件大小不能超过20 MB。
    • 使用旋转图片时原图的宽或高不能超过4096 px。
    • 原图单边大小不能超过30000 px。

IncompleteBody

You did not provide the number of bytes specified by the Content-Length HTTP header

  • 错误原因:Content-length参数指定的字节大小与用户实际发送的字节大小不一致。
  • 解决方案:请根据实际发送的字节大小填写相应的Content-length参数。

KmsServiceNotEnabled

This user does not turn on KMS service

  • 错误原因:使用KMS加密方式进行服务器端加密时,未开通KMS服务。
  • 解决方案:使用KMS加密方式进行服务器端加密前,请预先开通KMS服务。详情请参见购买专属KMS实例

OperationNotSupported

The operation is not supported for this resource

  • 错误原因:该资源不支持此类操作。可能的场景如下:
    • 将Appendable类型的Object或者软链接(symlink)转换为冷归档类型。
    • 通过RestoreObject接口解冻非归档或冷归档类型Object。
  • 解决方案:
    • 调用PutObject接口上传同名Object,将Appendable类型Object覆写为Normal类型Object,然后将该Object转换为冷归档存储类型。
    • 当您调用RestoreObject接口解冻文件时,请确保待解冻文件为归档类型(Archive)或冷归档(Cold Archive)类型。

    有关各类资源支持的操作类型,请参见API概览

NotSymlink

The object is not symlink

  • 错误原因:操作的Object不是软链接类型。
  • 解决方案:请确保PutSymlink或GetSymlink操作仅作用于软链接。

InvalidTag

The TagKey you have provided is invalid.或The TagValue you have provided is invalid

  • 错误原因:存储空间标签的Key或Value不合法。
  • 解决方案:检查并确保存储空间标签命名符合规范,标签规范如下:
    • Key和Value必须为UTF-8编码。
    • Key最大长度为64字符,不能以http://https://Aliyun为前缀,且不能为空。
    • Value最大长度为128字符,可以为空。

InvalidEncryptionRequest

The parameters of client encryption are allowed to be set once

  • 错误原因:通过CopyObject接口修改客户端加密元数据。

  • 解决方案:调用客户端加密上传文件后,加密元数据会被保护,无法通过CopyObject修改Object meta信息。详情请参见CopyObject

Miss some necessary client encryption meta parameters

  • 错误原因:客户端加密缺少必要参数。

  • 解决方案:请确保已填写以下各项必选参数。

    参数 描述
    x-oss-meta-client-side-encryption-key 加密后的密钥。 经过主密钥加密后再经过Base64编码的字符串。
    x-oss-meta-client-side-encryption-start 随机产生的用于加密数据的初始值 。经过主密钥加密后再经过Base64编码的字符串。
    x-oss-meta-client-side-encryption-cek-alg 数据的加密算法。
    x-oss-meta-client-side-encryption-wrap-alg 数据密钥的加密算法。

The parts count calculated by client encryption meta is too large

  • 错误原因:客户端加密元信息中输入的Part数量超出限制。

  • 解决方案:每个Object最多支持切分为10000个Part。

The client encryption meta data_size or part_size is invalid

  • 错误原因:客户端加密元信息中输入的文件总大小或分片大小不合法。

  • 解决方案:通过客户端加密Multipart文件时,需要在init_multipart时传入整个大文件的总大小(x-oss-meta-client-side-encryption-data-size)以及分片大小(x-oss-meta-client-side-encryption-part-size),且分片大小必须是16的整数倍。详情请参见客户端加密

The client encryption part list is unexpected with init_multipart setted

  • 错误原因:实际上传的分片数量和初始化分片上传指定的分片数量不一致。

  • 解决方案:请确保指定的分片数量与实际上传的分片数量一致。

The partId must less or equal to expectedPartNumber

  • 错误原因:分片ID大于总分片数(PartNumber)。

  • 解决方案:请确保分片ID等于或者小于总分片数。详情请参见UploadPart

The partSize must same with init_multipart setted except last part

  • 错误原因:实际上传的每个分片大小与初始化分片上传指定的每个分片大小不一致。

  • 解决方案:除最后一个分片外,其他分片大小均要求与初始化分片上传指定的每个分片大小一致。详情请参见UploadPart

The last partSize must same with init_multipart setted

  • 错误原因:实际上传的所有分片总大小与初始化分片上传指定的分片总大小不一致。

  • 解决方案:上传最后一个分片后,请确保实际上传的所有分片总大小与初始化分片上传指定的分片总大小一致。详情请参见CompleteMultipartUpload

The client encryption meta is inconsistent with init_multipart setted

  • 错误原因:客户端加密配置的分片加密信息与初始化分片上传中设置的加密信息不一致。

  • 解决方案:请确保客户端配置的分片加密信息与初始化分片上传中设置的加密信息一致。详情请参见客户端加密

Client encryption doesn't support upload part copy

  • 错误原因:不支持对经过客户端加密的源文件中调用UploadPartCopy接口。

  • 解决方案:仅支持从未经客户端加密的源文件中调用UploadPartCopy接口,实现从一个已存在的Object中拷贝数据来上传一个Part。详情请参见UploadPartCopy

UserKeyMustBeSpecified

User key must be specified

  • 错误原因:删除Object时未指定Object名称。
  • 解决方案:删除Object时需指定Object名称。详情请参见DeleteMultipleObjects

InvalidTargetBucketForLogging

Put bucket log requester is not target bucket owner

  • 错误原因:存放日志的目标Bucket不存在。
  • 解决方案:请更换为有效的目标Bucket。

InvalidPart

One or more of the specified parts could not be found or the specified entity tag might not have matched the part's entity tag

  • 错误原因:PartNumber或ETag错误导致CompleteMultipartUpload提交的Part无效。
  • 解决方案:请参见CompleteMultipartUpload

InvalidPartOrder

The list of parts was not in ascending order

  • 错误原因:CompleteMultipartUpload提交的Part未按照partNumber升序排列。
  • 解决方案:请参见CompleteMultipartUpload

Part number must be an integer between 1 and 10000, inclusive

  • 错误原因:无效的partNumber。partNumber的取值范围为1~10000。
  • 解决方案:请参见CompleteMultipartUpload

InvalidEncryptionAlgorithmError

The encryption algorithm specified is not valid

  • 错误原因:指定的x-oss-server-side-encryption值无效。有效值为AES256KMS
  • 解决方案:请参见PutObject

InvalidTargetType

The symbolic's target file type is invalid

  • 错误原因:Object类型为软链接,且软链接指向的目标Object类型仍为软链接。
  • 解决方案:确保软链接指向的目标Object不是软链接。

MissingAccessKeyId

MissingAccessKeyId AccessKeyId is mandatory for this action

  • 错误原因:缺少AccessKey ID。
  • 解决方案:填写正确的AccessKey ID。