Understand Objects and Related Terminologies

Learn about objects and their related terminologies.

Objects are files that refer to the data stored inside an S3 bucket.

The composition of an object

Every object is a composition of unique key-value pairs and other necessary metadata.

Key

A key is the name given to an object on creation. It uniquely identifies an object inside an S3 bucket.

Value

A value refers to the actual data stored inside a bucket. The maximum size of an object in a bucket can be 5 terabytes (TB).

Object versioning

In S3, versioning allows us to store multiple versions of the same object. By default, versioning is disabled on a bucket. Upon enabling, if an object with an existing key is uploaded again, a version ID is given to every object version. This helps prevent accidental object deletion because versioned objects can be easily restored upon deletion.

Problem

Suppose we have two versions (A and B) of the same file that we want to store in an S3 bucket. How can we store the same file two times with the same key, knowing that the key has to be unique?

Solution

We can enable object versioning in an S3 bucket. This allows us to upload multiple versions of the same object using the same key and different version IDs. The version ID is automatically assigned by AWS when we enable object versioning.

Metadata

Metadata contains relevant information about the object, which is used by S3 for object management.

Metadata can be classified into two types:

  • System-defined
  • User-defined

System-defined

System-defined metadata is created by S3 during object creation. Examples include object creation date, object size, encryption ID, and so on.

User-defined

User-defined metadata is defined by the user for the objects. Examples include encryption type, storage class type, content type, and so on.

Create a free account to view this lesson.

By signing up, you agree to Educative's Terms of Service and Privacy Policy