Concepts of Object Storage
Last updated on
STACKIT Object Storage builds on a small set of foundational concepts. Understanding them helps you design your storage layout and use the service.
Buckets
Section titled “Buckets”A bucket is a logical container for storing objects. Every object you store must reside in a bucket. You can create any number of buckets as your use case requires, and you can also set up these buckets to suit your specific needs.
Buckets are region-specific: a bucket in EU01 is independent of a bucket with the same name in EU02. Bucket names must be unique within a region. Buckets can not be nested, you can not create a bucket inside another bucket.
To control access to a bucket and its objects, you can attach a bucket policy. To learn more, read Bucket Policies.
Objects
Section titled “Objects”An object is the fundamental entity stored in a bucket. Every object consists of three parts:
- Key: A UTF-8 string that uniquely identifies the object within its bucket.
- Metadata: Key-value pairs that describe the object. You can define custom metadata at upload time.
- Data: The actual content stored in the object.
Object prefixes
Section titled “Object prefixes”Because buckets can not be nested, you use key prefixes to organize objects within a bucket. A prefix is a string at the beginning of the key. Using a delimiter, typically /, lets clients and tools treat prefixes as virtual folders.
For example, to organize images by year in a bucket named media-bucket, you would use keys like:
2023/photo-a.jpg2023/photo-b.jpg2024/photo-c.jpg
You can then list or operate on only the 2023/ prefix without scanning the entire bucket.
Security
Section titled “Security”All objects are encrypted at rest using AES-256 by default. If you need to use your own encryption keys, you can use SSE-C (server-side encryption with customer-provided keys). All data in transit is protected by TLS 1.3.
To learn how to configure encryption, read Encryption.
Credentials
Section titled “Credentials”Object Storage authenticates requests using an access key and a secret key. Credentials are managed at the STACKIT Project level: any credential created in a project has access to all buckets within that project.
Endpoints
Section titled “Endpoints”STACKIT provides a dedicated endpoint for each region. You need to use the endpoint matching the region where your bucket resides.
| Region | Endpoint URL |
|---|---|
| EU01 | https://object.storage.eu01.onstackit.cloud |
| EU02 | https://object.storage.eu02.onstackit.cloud |
Object Storage supports both Virtual Hosted Style and Path Style for addressing objects:
| Style | URL pattern |
|---|---|
| Virtual Hosted | https://[bucket_name].object.storage.eu01.onstackit.cloud/[key_name] |
| Path Style | https://object.storage.eu01.onstackit.cloud/[bucket_name]/[key_name] |