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.

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

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)
Cause
  • 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

  1. 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.

  2. 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.
  3. 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.
  4. If the roles or access privileges have changed, request the service administrator to grant you the required permissions to the container.
  5. You can restore an archived object only if you have a role that is specified in the X-Container-Read ACL.
  6. 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.
  7. 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 the X-Account-Bytes-Used and X-Account-Meta-Quota-Bytes headers in the response. X-Account-Meta-Quota-Bytes minus X-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 and X-Container-Meta-Quota-Count
    • X-Container-Bytes-Used and X-Container-Meta-Quota-Bytes

    X-Container-Meta-Quota-Count minus X-Container-Object-Count is the number of further objects that can be stored in the container.

    X-Container-Meta-Quota-Bytes minus X-Container-Bytes-Used is the unused storage space in the container.

    See Setting Special Metadata on a 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.