Problem description
The source object specified in the CopyObject request cannot be read.
Causes
The x-oss-copy-source request header points to a source object that is in an unreadable state. The most common cause is that the source object's storage class is Archive.
Archive objects are offline by default. An Archive object cannot be read or copied until it is restored or until real-time access is enabled for the bucket.
Examples
The following CopyObject request fails because archived-object is an Archive object that has not been restored.
PUT /target-object HTTP/1.1
Host: example-bucket.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 09 Apr 2019 03:45:32 GMT
Authorization: OSS qn6q**************:77Dv****************
x-oss-copy-source: /example-bucket/archived-objectSolutions
Choose one of the following approaches:
| Approach | When to use |
|---|---|
| Restore the object, then copy | Copying a single Archive object once or infrequently. Restoration takes time before the copy can proceed. |
| Enable real-time access of Archive objects | Accessing or copying Archive objects frequently, without waiting for restoration each time. |
Restore the object, then copy
Restore the Archive object using RestoreObject before calling CopyObject. For details, see Restore objects.
Enable real-time access of Archive objects
Enable real-time access of Archive objects for the bucket that contains the source object. After you enable this feature, all Archive objects in the bucket can be read and copied without being restored first. For details, see Real-time access of Archive objects.