Let’s create a simple Boto3 Python script that lists all S3 buckets in the AWS account:

#!/usr/bin/env python3
import boto3
S3_RESOURCE = boto3.resource('s3')
print('My S3 buckets:')
for bucket in S3_RESOURCE.buckets.all():
    print(f"\t- {bucket.name}")

Step-By-Step Instructions

I suggest you put all Boto3 scripts created during this tutorial into a separate folder. I’ll use the boto3/amazon-s3 folder for this script:

boto3
└── amazon-s3
    └── list_s3_buckets.py
1 directory, 1 file

Step 1: Create a Separate Folder

To begin, create a new folder to store your Python scripts for Boto3. You can do this using your operating system’s file explorer or via the command line:

mkdir -p boto3/amazon-s3

Step 2: Navigate to Your New Folder

Change your directory to the new folder you have just created:

cd boto3/amazon-s3

Step 3: Create a New Python Script

Within this folder, create a new Python script file. You can name it according to the task it will perform. For example, name it list_s3_buckets.py.

touch list_s3_buckets.py

Step 4: Open the Python Script

Open the list_s3_buckets.py file in your preferred text editor or integrated development environment (IDE). If you’re using Visual Studio Code, you can open it directly from the command line:

nano list_s3_buckets.py

Step 5: Import Boto3 in Your Script

At the top of your Python script, you need to import the Boto3 library. We use shabang (#!) here if you want to execute this script as a standalone program later:

#!/usr/bin/env python3
import boto3

Step 6: Start Scripting with Boto3

Now, you can begin writing your script to interact with AWS services. For instance, to list all S3 buckets, you can add the following code:

S3_RESOURCE = boto3.resource('s3')
print('My S3 buckets:')
for bucket in S3_RESOURCE.buckets.all():
    print(f"\t- {bucket.name}")

Remember to save your script after editing.

Script execution

You can execute your script by providing it to the Python interpreter as an argument

python list_s3_buckets.py

Additionally, you can make the script executable (for *nix operating systems) and call it as a standalone program:

# Make the script executable
chmod +x list_s3_buckets.py
# Execute the script
./list_s3_buckets.py

Best Practices

  • Keep your scripts organized in folders based on their functionality.
  • Use virtual environments to manage dependencies and avoid conflicts between projects.
  • Regularly update your Boto3 library for the latest features and security updates.

Following these steps, you’ll have a clean and organized workspace for your AWS-related Python scripts using Boto3.