Problem description
The object that you want to access does not exist.
Causes
You initiated a GetObject request to access an object, but the object does not exist or the specified version of the object does not exist. The error is returned when the object that you want to access does not exist, regardless of the type of the request that you initiate. For example, if you initiate a CopyObject request but the object that is specified by the x-oss-copy-source
field does not exist, the error is also returned.
An object does not exist if one of the following conditions is met:
The object fails to be uploaded.
The object is deleted based on lifecycle rules.
The object is deleted by an authorized user in the OSS console, by using OSS clients, or by calling API operations.
Cross-region replication (CRR) is configured for the bucket in which the object is stored. A delete operation that is performed on an object that has the same name in the source or destination bucket is synchronized to the specified object.
Examples
You initiated the following request:
PUT /xyz.txt HTTP/1.1
Host: destbucketname.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-copy-source: /examplebucket/abc.txt
If the abc.txt object does not exist in the examplebucket bucket, the server returns the error.
Solutions
Check whether the specified object exists:
You can call the HeadObject operation to check whether the specified object or the specified version of the object exists. If HTTP status code 404 is returned, the object or the specified version of the object does not exist.
If versioning is enabled for the bucket in which the object is stored and you specified the VersionID parameter in your request, make sure that the version of the object that is specified by the VersionID parameter exists. You can call the ListObjectVersions or GetBucketVersions operation to obtain all version IDs of an object.
More solutions
Make sure that the name of the specified object complies with the naming conventions. The name of the object must be 1 to 1,023 characters in length and encoded in UTF-8. The name cannot start with a forward slash (/) or a backslash (\).
Check the lifecycle rules that are configured for the bucket and make sure that the object is not deleted based on the rules. For more information, see Lifecycle rules based on the last modified time.
Make sure that the object is not deleted by another authorized user.
Check the CRR rules that are configured for the bucket and make sure that the object is not deleted based on the CRR rules. For more information, see CRR.