Amazon Web Services S3 is a service from Amazon that provides efficient storage facilities to the user’s resources.
The amount of data which is generated on a daily basis is increasing exponentially. A major part of this data (if not the entire data set) is essential for analysis, understanding users, making important decisions, observing the trends, making predictions, extracting useful insights, designing further applications based on the requirement, and much more. This means most of the data needs to be stored efficiently, in addition to making it easy to retrieve the data, provide relevant security to sensitive/private data, and making sure that no other process slows down due to this storage.
This is when Amazon came up with the very idea of S3 that not just stores data efficiently, but helps in scaling up or down the data, providing high levels of security, and the ability to retrieve any amount of information at any point in time, anywhere from the Internet (data that is publicly available). It can also be used as a backup and data recovery service since data storage is highly durable on AWS S3.
This service, in addition to being compatible with other AWS services, supports third-party solutions too.
It is essential to understand how the AWS S3 service stores data, which makes it so efficient to retrieve and use.
Amazon S3 stores data in the form of ‘objects’, and these objects are housed inside an entity known as a ‘bucket’. An object refers to the file (that contains data) and some metadata with regards to the data inside the file (example- type of data, characters, and bytes). If a user wishes to store their data in the Amazon S3 bucket, they will first need to upload their data file to a bucket. After this, the permissions on the file (inside the bucket) can be set, which will decide whether this data can be changed by others or not.
Following are the steps to use Amazon S3:
1. If you don’t have an account with AWS, sign up for one.
2. Follow the steps and create an AWS account.
3. If you already have an account with AWS, sign in and click on the ‘Get Started with Amazon S3’.
4. Create a bucket that will store the user’s uploaded file. Once the file is uploaded to the bucket, the charging starts.
5. After creating a bucket and giving a name to it (make sure the name is unique and the region is ‘US West (Oregon), click on the ‘Create’ button and then ‘Create bucket’.
6. The ‘configure options’ and ‘set permissions’ have been shown below. In the end, the S3 is reviewed and can be put to use.
Permissions are shown below:
7. The next step is to upload a data file into the created bucket. This data file can be anything ranging from a text file to a video file. The bucket which you would have previously created can be seen on the console. Click on it and then click on the ‘upload’ button.
8. Add files to your bucket from your local machine or any other resource and click on ‘Upload’ as in the below screenshot:
9. This uploaded object’s file information can be seen on the console. This can be done by clicking on the bucket you created and checking the ‘Name’ list. It can be downloaded onto your local machine as well. A sample looks like this:
Now that we have seen how to create a bucket, and upload a data file into the bucket, we will understand how an object can be moved from one place to another.
1. Click on the bucket you created previously.
2. Click on ‘Create folder’, give a name to your folder, choose encryption as ‘None’ and click on ‘Save’.
3. The objects list will now have the folder you created and the file which was uploaded to the S3 bucket. Click on the object that needs to be copied to the newly created folder, click on ‘More’ and click on ‘Copy’.
4. Now click on the new folder which was created (it is the destination where the uploaded file needs to be copied to), click on ‘More’->’Paste’. A ’Copy and paste’ dialog box appears.
5. Click on ‘Paste’ after the file is uploaded to the folder.
After looking at transfer of data file from one bucket to another folder, we will look at how an object can be deleted from a bucket.
If you wish to retain the name of the bucket, but wish to change the contents/objects present in the bucket, the bucket can be emptied.
If you wish to delete the entire bucket, instead of just emptying the bucket, the below steps could be followed:
Some of the salient features of Amazon S3:
The flowchart for the Amazon S3 looks like this:
In this, we understood the importance of AWS S3, and how it has changed the face of storage in the world of computing.