AWS S3 is an Amazon service that lets you handle files. When you add to the equation the programming interface that it offers with Python you can do a lot more to programmatically handle things.
In this article we will go over some methodologies and features AWS S3 has that you can control using Python and more specifically the AWS library it supports which is Boto3.
Why Use AWS S3 With Python
There are many reason as to why someone may want to use AWS S3 with Python programmatically lets cover some of them here.
- Offers the ability to perform batch operations such as mass delete, update and addition of new files
- Provides an abstracted way of transferring files between your AWS services.
- You can update a potential web server that’s hosted in AWS S3
- You can monitor and alert if something changes in your file containers
As you can see the list of why it’s useful to programmatically control AWS S3 with Python is pretty big.
There’s a great article that goes over all the ways you can deal with AWS S3 programmatically using Python such as deleting, updating, removing and adding files which you can incorporate to perform all the actions listed above.
How To Set Up AWS S3 With Python CDK
So now that we have went over some use-cases of why AWS S3 can be used and is useful to be managed programmatically, we are going to cover how you can set this up programmatically using the Python AWS CDK.
Basically what you’ll need to get started is an AWS SDK key and secret key to authentication with the AWS services.
If the role the key is associated with has permissions it will be able to start perfoming operations such as managing and deleting new AWS S3 file containers along with the attributes associated with them.
A great article documenting this step by step with examples can be found here:
Why Setup AWS S3 With Python CDK Programmatically
Finally we will cover some reasons of why you would want to setup AWS S3 with python programmatically.
- Ability to add AWS S3 creation and setup in your devops pipeline
- Dynamically create your own naming convention on the S3 bucket creation
- Enforce rules of how buckets are created based on your ruleset
- Perform mass bucket creation and updates using the CDK
- Add any AWS S3 dependencies you may have in your workflow creation
- Handle more dynamic nature problems that other methods such as doing it manually from the web or from Terraform scripts it’s difficult
As you can see the list above is pretty convincing on the use-cases of when someone may want to use AWS Python CDK to configure and setup your environment in S3.
We were able to cover how to programmatically create and manage your AWS S3 resources by providing references to two guides with complete code examples and a step by step methodology that will get you started and going in just a few minutes of work.