Updated on 2024-03-04 GMT+08:00

Restrictions and Limitations

This section describes the restrictions on using OBS features.

Table 1 OBS use restrictions and limitations

Item

Description

Bandwidth

By default, the maximum bandwidth for read/write (GET/PUT) requests of a single account is 16 Gbit/s. If the actual bandwidth reaches the threshold, flow control will be triggered.

Queries per second (QPS)

Default maximum QPS allowed by a single account:

  • 6,000 write requests (PUT Object) per second
  • 10,000 read requests (GET Object) per second
  • 1,000 listing requests (LIST) per second
NOTE:

If you use sequential prefixes (such as timestamps or alphabetical order) for object naming, object access requests may be concentrated in a specific partition, resulting in access hotspots. This limits the request rate in a hotspot partition and increases access delay.

Random prefixes are recommended for naming objects so that requests are evenly distributed across partitions, achieving horizontal expansion.

Access rules

In consideration of the DNS resolution performance and reliability, OBS requires that the bucket name must precede the domain when a request carrying a bucket name is constructed to form a three-level domain name, also mentioned as virtual-hosted-style access domain name.

For example, you have a bucket named test-bucket in the eu-west-0 region, and you want to access the ACL of an object named test-object in the bucket. The correct URL is https://test-bucket.oss.eu-west-0.prod-cloud-ocb.orange-business.com/test-object?acl.

Buckets

  • On OBS, each bucket name must be unique and cannot be changed.
  • After you create a bucket, its name, storage redundancy policy, and region cannot be changed.
  • An account (including all IAM users under this account) can create a maximum of 100 buckets and parallel file systems. You can use the fine-grained access control of OBS to properly plan and use buckets.
  • By default, there is no limit on the storage capacity of the entire OBS system or a single bucket, and any number of objects can be stored.
  • A bucket can be deleted only after all objects in the bucket have been deleted.
  • The name of a deleted bucket can be reused for another bucket or a parallel file system at least 30 minutes after the deletion.

Uploading objects

  • OBS Console supports uploading files in a batch. A maximum of 100 files can be uploaded in a batch with the total size of no more than 5 GB. If you upload only one file in a batch upload, it cannot exceed 5 GB in size.
  • If you use OBS Browser+, obsutil, an SDK, or an API, you can upload a single object of up to 48.8 TB.
  • If versioning is disabled for your bucket and you upload a new file with the same name as the one you previously uploaded to your bucket, the new file automatically overwrites the previous file and does not retain its ACL information. If you upload a new folder using the same name that was used with a previous folder in the bucket, the two folders will be merged, and files in the new folder will overwrite namesake files in the previous folder.
  • After versioning is enabled for your bucket, if the new file you upload has the same name as the one you previously uploaded to the bucket, a new file version will be added in the bucket.
  • Though any UTF-8 characters can be used in object keys (object names), it is recommended that object keys be named according to the object key naming guidelines. These guidelines help object key names substantially meet the requirements of DNS, web security characters, XML analyzers, and other APIs.

Deleting objects

If versioning is not enabled for a bucket, deleted objects cannot be recovered.

Restoring Cold objects

  • If a Cold object is being restored, you cannot suspend or delete the restore task.
  • You cannot restore an object in the Restoring state.
  • After an object is restored, an object copy in the Standard storage class will be generated. This way, there is a Cold object and a Standard object copy in the bucket at the same time. The Standard object copy will be automatically deleted upon its expiration.

Lifecycle management

There is no limit on the number of lifecycle rules in a bucket, but the total size of XML descriptions about all lifecycle rules in a bucket cannot exceed 20 KB.

Cross-region replication

See Cross-Region Replication Overview.

User-defined domain name binding

  • Only buckets in version 3.0 support user-defined domain name binding.
  • Currently, user domain names bound to OBS only allow access requests over HTTP.
  • A user-defined domain name can be bound to only one bucket.
  • Currently, the suffix of a user-defined domain name can contain 2 to 6 uppercase or lowercase letters.

ACLs

  • A bucket ACL can have up to 100 grants. The total bucket ACL size cannot exceed 50 KB.
  • An object ACL can have up to 100 grants. The total object ACL size cannot exceed 50 KB.

Bucket policies

There is no limit on the number of bucket policies (statements) for a bucket, but the JSON descriptions of all bucket policies in a bucket cannot exceed 20 KB in total.

Parallel file systems

See the Object Storage Service Parallel File System Feature Guide.