A Error Code Reference for Object Storage Classic
Oracle Cloud Infrastructure Object Storage Classic returns standard HTTP responses. Every HTTP response contains a status code that indicates success or failure of the request. This section lists the causes and solutions for the HTTP error codes that Oracle Cloud Infrastructure Object Storage Classic may return. If you see an error that it is not documented here, contact Oracle Support.
Topics:
400 Bad Request
(Not available on Oracle Cloud at Customer)Cause
- You tried restoring an object in a container of the
Standard
storage class. - You tried downloading an object in a container of the
Archive
storage class without first restoring the object.
Solution
- Only objects in a container with the header
X-Storage-Class
:Archive
can be restored. - To download an object in a container with the header
X-Storage-Class
:Archive
, you must first restore it.- Restore the object. See Restoring Archived Objects.
- Make a note of the job ID mentioned in the header
X-Archive-Restore-JobId
. Track the restoration progress of the object. See Tracking Restoration of an Object in an Archive Container. - Download the object. See Downloading Objects
401 Unauthorized
Cause
- The request does not include an authentication token.
- The authentication token specified in the request is not valid. It may have expired. Authentication tokens expire after 30 minutes.
Solution
Ensure that a valid authentication token is included in the request. See Authenticating Access When Using the REST API.
403 Forbidden
This error may occur when you:
- Create a container or an object
- Update or delete an existing container or an object
- View the metadata of a container or an object
- Download an object
- List objects within a container
- Restore an object in a container for which the
X-Container-Read
ACL does not have any of your roles - Attempt an operation that's not supported for containers of the
Archive
storage class. See Features Not Supported for Archive Containers. (Not available on Oracle Cloud at Customer) - Create an
Archive
container in unmetered Oracle Cloud Infrastructure Object Storage Classic accounts. (Not available on Oracle Cloud at Customer)
- A replication policy has not been selected for your service in Oracle Cloud Infrastructure Classic Console. (Not available on Oracle Cloud at Customer)
This is applicable only for the accounts created before March 2018.
- A replication policy has been selected for your service, and a write request was sent to the secondary data center. (Not available on Oracle Cloud at Customer)
This is applicable only for the accounts created before March 2018.
- The request was sent to an incorrect data center. For example, the data center for your service is Chicago (us2), but the request was sent to the URL corresponding to the Ashburn (us6) data center.
- You don’t have the required permission to perform the operation on the specified container. For example, there may be a change in the roles assigned to your user or the access privileges defined for the container specified in the request.
Solution
- Ask your account administrator whether a replication policy has been selected for the service. See About Replication Policy for Your Object Storage Classic Instance.
This is applicable only for the accounts created before March 2018.
- Make sure that the request is sent to the primary data center selected for your service or to the global namespace URL. See About REST URLs for Oracle Cloud Infrastructure Object Storage Classic Resources.
- Write requests (
PUT
,POST
, andDELETE
) can be sent to either the primary data center or the global namespace URL. See About REST URLs for Oracle Cloud Infrastructure Object Storage Classic Resources. - Read requests (
GET
andHEAD
) can be sent to the primary data center, the secondary data center, or the global namespace URL.
- Write requests (
- Ask your service administrator whether there is a change in either the roles assigned to your user or the access privileges to the container specified in your request.
- If the roles or access privileges have changed, request the service administrator to grant you the required permissions to the container.
- You can restore an archived object only if you have a role that is specified in the
X-Container-Read
ACL. - If your request pertains to a container of the
Archive
storage class, check whether the operation is supported. See Features Not Supported for Archive Containers. - You can create an
Archive
container only in a metered account.
404 Not Found
This error may occur when you:
- List objects in a nonexistent container
- View or update the metadata of a nonexistent object or container
- Download or copy a nonexistent object
- Delete a nonexistent object or container
Cause
- The specified container or object doesn’t exist in Oracle Cloud Infrastructure Object Storage Classic.
- The specified container or object was just created and has not been replicated across all the nodes.
Solution
- Verify whether the specified container or object exists, by listing the containers or listing the objects within the specified container, as appropriate.
- If the container or object was just created, wait for the container or object to get replicated across all the nodes.
409 Conflict
Cause
The specified container cannot be deleted because it contains one or more objects.
Solution
List the objects within the specified container. Delete all the objects in the container and then try deleting the container.
411 Length Required
Cause
The request doesn’t contain the Content-Type
or Content-Length
request header. For example, you are trying to create an object without any content.
Solution
Ensure that the Content-Type
or Content-Length
request header is included in the HTTP request.
413 Request Entity Too Large
Cause
- The file being uploaded is larger than 5 GB, which is the limit for the size of a single object.
- The unused account quota is less than the size of the objects being created.
- If a container-level quota—maximum bytes or number of objects—was set, the unused container quota , is not sufficient for the objects being created.
Solution
- For information about uploading files larger than 5 GB, see Uploading Large Objects.
- If the unused account quota is not sufficient for the objects being created, delete existing objects that are no longer required or purchase more quota.
To find out the current unused account quota, send a
HEAD
request for the account, and look for the values of theX-Account-Bytes-Used
andX-Account-Meta-Quota-Bytes
headers in the response.X-Account-Meta-Quota-Bytes
minusX-Account-Bytes-Used
is the unused account quota. - If the unused container quota is less than the size of the objects being created, delete existing objects that you no longer require or increase the container quota.
To find out whether container quotas have been set and to determine the current unused quota, send a
HEAD
request for the container, and look for the values of the following headers in the response:X-Container-Object-Count
andX-Container-Meta-Quota-Count
X-Container-Bytes-Used
andX-Container-Meta-Quota-Bytes
X-Container-Meta-Quota-Count
minusX-Container-Object-Count
is the number of further objects that can be stored in the container.X-Container-Meta-Quota-Bytes
minusX-Container-Bytes-Used
is the unused storage space in the container.
422 Unprocessable Entity
Cause
The value of the ETag
header specified in the upload request doesn’t match the MD5 checksum of the HTTP response.
Solution
This error may be due to a problem in data transmission. Delete the specified object and try again.