SAVE AS PDF
Lyve Cloud S3 Storage User manual
Lyve Cloud S3 Storage 

Was this content helpful?

OPEN MENU CLOSE MENU

Lyve Cloud Limitations

Bucket and object limitations

The table lists the limitations of buckets, objects, service accounts and permissions and their associated actions.

Item Specification
Maximum number of buckets 100 buckets per account..

Note—To create additional buckets (up to 1000 buckets), raise a Support Ticket. For more information, see Creating a support ticket.
Maximum number of objects per bucket no-limit
Maximum object size (multipart upload) 5 TiB
Minimum object size 0 B
Maximum object size per PUT operation 5 GiB
Maximum length for bucket names 63
Maximum length for object names 1024. Note—if an object name exceeds 255 characters in length, it must contain one or more "/" characters. Furthermore, any segment between two "/" characters should not exceed 255 characters in length.

Multipart upload limitation

The table lists the multipart upload limitations.

Item Specification
Maximum number of parts per upload 10,000
Part size range 5MiB to 4GiB. The last part can be 0 B to 5 GiB
Maximum number of parts returned per list parts request 10,000
Maximum number of objects returned per list objects request 1,000
Maximum number of multipart uploads returned per list multipart uploads request 1,000

Incompatible S3 API calls

The table lists S3 API calls that are incompatible.

S3 API Description
ListMultipartUploads This command does not list active multipart uploads using a bucket name. Add a prefix and the prefix value must be an object name to list the object multipart in the bucket.
GetBucketLocation This command returns the bucket location, regardless of a Signature v4 region different from the S3 endpoint region.
ListBuckets
  • This command lists all the buckets, regardless of a  Signature v4 region different from the S3 endpoint region.
  • This command does not list the bucket Owner DisplayName.
ListObjectsV2
  • It returns owner information even if you do not pass the fetch owner parameter.
  • It returns Key Count as 0 instead of 1 when the prefix does not have an object.
  • Using two consecutive slashes (//) in a prefix path results in an incorrect sequence of objects in a bucket.
  • Returns Key Count as 0 instead of 1 when the prefix does not have an object.
PutObjectRetention It returns an HTTP 204 message on successful execution instead of HTTP 200.
HeadObject Returns incorrect HTTP code if an object does not exist.
CompleteMultipartUpload The Entity tag (ETag) value of an object received in response does not match with AWS S3.
Putobject
  • Uploading an object where the object key contains a new line character (0x0A) returns 503 as an incorrect error code.
  • Returns a different error message, whereas AWS returns a 400 error code when you specify the following parameters:
    • -content-length: Greater than the actual content length, Lyve Cloud does not return any error code.
    • --sse-customer-key : Less than or greater than 32 bytes, LyveCloud returns a 403 error code.
    • -object-lock-legal-hold-status : A random string is passed, Lyve Cloud allows uploading objects despite incorrect --object-lock-legal-hold-status.
    • --tagging : For multiple tagset with invalid separators, Lyve Cloud allows multiple tagset with invalid separators, but it splits the value from first =.
  • --metadata: LyveCloud returns capitalized keys when you pass lowercase letters.
UploadPartCopy Using "/" (slash) as a prefix to the source bucket returns a 403 error.For example, to copy the object logs/january.txt from bucket bucket1, use the header x-amz-copy-source path: bucket1/logs/january.txt instead of the x-amz-copy-source path: /bucket1/logs/january.txt.
GetObject This command returns a content range of the first part number irrespective of the part number specified of the object.

 

 Note—In Lyve Cloud, the custom metadata is stored in a different sequence than AWS S3. An object with a prefix that matches the name of another object is not supported. For example, an object named /A/B (where A is a prefix and B is the object name) is not supported if its prefix matches another object, /A.