Functional Definition

The evroc Object Storage service provides an efficient and robust storage service for storing unstructured data such as files, videos, or backups. The service is accessible via an S3-compatible API, making it easy to integrate with existing programs already using Object Storage.

Features and concepts of the Object Storage service are described below.

Buckets

Buckets are containers for storing Objects. Buckets are top-level containers for organising different sets of data for e.g. different applications.

Buckets are given names to identify them in the Console and in API calls. Bucket names must be unique in the owning Resource Group. Bucket names must also comply with DNS naming conventions, namely:

  • The Bucket name must be between 3 and 63 characters.
  • The Bucket name must only consist of alphanumeric characters (a-z, A-Z, 0-9), periods (.), and hyphens (-).
  • The Bucket name must start and end with a lowercase alphanumeric character (a-z, 0-9).

There is a maximum limit of 1000 buckets per Resource Group. For more details on usage limits see Usage Limits.

evroc wants to ensure that you do not accidentally delete any of your potentially important data. We therefore add some extra checks before you can delete your Bucket. For more information about this, see Bucket Deletion.

Objects

Objects are entities stored inside a Bucket. Each Object stores its primary data along with additional metadata about the Object.

Each Object is identified by a key. The key must be unique within the Bucket the Object is contained in.

The Object consists of data, which can be used to store anything from text files to videos. The data within a single Object can be up to 5 TB in size.

In addition to data Objects can also store metadata, which consists of key-value pairs. The metadata can be used to provide additional information about the Object and its data, such as the content type of the data or the Object's owner.

Object Versioning

A Bucket can be configured to enable versioning. A Bucket with versioning enabled will instead of overwriting an Object store multiple versions of the Object. This can be used to protect against accidental deletions or overwrites, ensuring that the previous version of any Object can still be accessed.

Object Locking

A Bucket can be configured to enable Object Locking, in which Objects can be configured with a lock to prevent it from being deleted or overwritten. This lock can be held over a configured time window or indefinitely.

Lifecycle Policies

Lifecycle Policies are rules that can automate the expiration of Objects inside a Bucket. These policies can be configured on a Bucket to determine how long a Object should be stored before automatically being removed. Different rules can be configured on a single Bucket with different filters and expiration times for fine grained control over Object lifecycles.

Multipart Upload

Larger uploads to an Object can be broken up into separate parts, where each part can be uploaded independently and in parallel. This can speed up uploads of larger files.

S3 Compatible Credentials

It is possible to export static credentials for accessing Objects in a Bucket from any S3 Compabible client. This enables our Object Storage service to work with existing services or programs that integrate with S3 Compatible storage.