S3 API Usage Guidelines

The following table describes usage guidelines for naming or mapping S3 API bucket directories and objects.

Table 1-2 Usage Guidelines: S3 API

Number Guideline Description

1

The S3 API creates subdirectories in bucket for each / it encounters in the object's name.

For example, when the user uploads an object called accounting/billing.pdf, a directory called accounting is created in the bucket.

2

Objects that are mapped to the Oracle ZFS Storage Appliance directories, such as an object with names that end with /, cannot store content for themselves. However, content can be created in them.

For example: object foo/ cannot have any data associated with it but object foo/bar can.

3

Any file name not permitted by the Oracle ZFS Storage Appliance filesystem is also not permitted while creating objects in the S3 API.

For example, objects names with any of the following characters are not permitted: //, /, .. Object names containing double // are also not permitted (foo//bar).

4

Object names that are relative paths are not permitted.

For example, ../../../foo is not permitted.

5

Oracle ZFS Storage Appliance limits file and directory names to 255 characters. The same character limit (255) applies to the virtual directory names and object names for the Oracle ZFS Storage Appliance S3 API.

6

When bucket versioning is either enabled or suspended, take the following naming conventions into consideration:

  • When versioning is enabled for a bucket, previous versions are saved in the same directory as the current version of the object.

  • The current version of an object is renamed when a new object or delete marker takes its place. The new name of the current version follows the pattern: object_name-versionId . For example, billing.pdf-0001.