0016-00000404

问题描述

无法读取请求中指定的Object。

问题原因

您读取的Object是归档类型,该Object当前处于不可读取的状态,可能原因如下:

  • 没有对Object完成RestoreObject操作。例如,没有提交RestoreObject请求。上一次提交RestoreObject已超时。已经提交RestoreObject请求,但RestoreObject操作还没有完成。

  • Object所在的存储空间未开启归档直读。如果未开启归档直读,就需对Object完成RestoreObject操作。

问题示例

以下请求中指向的oss.jpg仍处于归档状态,无法读取。

GET /oss.jpg HTTP/1.1
Host: oss-archive-example.oss-cn-hangzhou.aliyuncs.com
Date: Sat, 15 Apr 2017 09:38:30 GMT
Authorization: OSS qn6q**************:77Dv****************

解决方案

您可以选择以下任意一种解决方案:

  1. 解冻Object:

    1. 调用RestoreObject接口解冻Object,并确保已完成解冻操作。

      其中,x-oss-restore请求头中的expiry-date字段表示解冻过期时间。

      解冻完成后,返回响应如下:

      HTTP/1.1 200 OK
      x-oss-request-id: 58F723829F29F18D7F00*****
      x-oss-object-type: Normal
      x-oss-restore: ongoing-request="false", expiry-date="Sun, 16 Apr 2017 08:12:33 GMT"
      Date: Sat, 15 Apr 2017 09:38:30 GMT
      Last-Modified: Sat, 15 Apr 2017 06:07:48 GMT
      ETag: "5B3C1A2E0763E1B002CC607C*****"
      Content-Type: image/jpg
      Content-Length: 344606
      Server: AliyunOSS
      [354606 bytes of object data]
    2. 在解冻过期时间到期前,重新发起GET请求。

  2. 开启归档直读:为Object所在的存储空间开启归档直读。开启归档直读后,存储空间下的所有归档存储类型Object无需执行RestoreObject,就处于可读取的状态。具体操作,请参见归档直读

相关文档