This article will explain what is happening inside the S3 once you upload a file.
- The client sends an HTTP PUT request to create a bucket by giving its name(“s3_bucket-that-you-need-to-get”).
- The request will be forwarded to the API service.
- The API service communicates with Identity and Access Management (IAM) to ensure the client user has the authorization to WRITE.
- The API service calls the metadata store and will create an entry with the bucket info in metadata database.
- After the entry creation is done, its returns the client a success message.
- Once the bucket is created, the client sends an HTTP PUT request to create an object that you give.
- The API service verifies the user credentials and identity and ensures the user has WRITE permission on the bucket .
- As soon as the validation is done with success the API service sends the object data in the HTTP PUT payload to the data store.
- The data store persists the payload as an object and it will returns the UUID of the object.
- The API service then will calls the metadata store to create a new entry in the metadata database.
- The metadata database contains information such as the object_id (UUID), bucket_id , object_name, time it created , permission etc.