Python Boto3

  • Related Questions & Answers
  • Selected Reading
Python Boto3

First, we need to tell python to use the boto3 package we installed using pip in the python packages section of the. Second, we need to tell python which specific service we want to use within the boto3 package. This is done with client.

Boto3PythonServer Side ProgrammingProgramming
  1. Boto3 is the library to use for AWS interactions with python. The docs are not bad at all and the api is intuitive. At it’s core, Boto3 is just a nice python wrapper around the AWS api. Even though Boto3 might be python specific, the underlying api calls can be made from any lib in any language.
  2. The AWS SDK for Python (Boto3) provides a Python API for AWS infrastructure services. Using the SDK for Python, you can build applications on top of Amazon S3, Amazon EC2, Amazon DynamoDB, and more.

Problem Statement − Use boto3 library in Python to run a glue job. For example, run the job run_s3_file_job.

Approach/Algorithm to solve this problem

Step 1 − Import boto3 and botocore exceptions to handle exceptions.

Step 2 − job_name is the mandatory parameters while arguments is the optional parameter in function. Few jobs take arguments to run. In that case, arguments can be passed as dict.

For example: arguments = {‘arguments1’ = ‘value1’, ‘arguments2’ = ‘value2’}

If the job doesn’t take argument, then just pass the job_name.

Step 3 − Create an AWS session using boto3 library. Make sure region_name is mentioned in default profile. If it is not mentioned, then explicitly pass the region_name while creating the session.

Step 4 − Create an AWS client for glue.

Step 5 − Now use start_job_run function and pass the JobName and arguments if require.

Python Boto3

Step 6 − Once the job starts, it provides job_run_id with the metadata of the job.

Step 7 − Handle the generic exception if something went wrong while checking the job.


Use the following code to run an existing glue job −


Get started quickly using AWS with boto3, the AWS SDK for Python. Boto3 makes it easy to integrate your Python application, library, or script with AWS services including Amazon S3, Amazon EC2, Amazon DynamoDB, and more.


Python Boto3 Documentation

Boto3 has two distinct levels of APIs. Client (or 'low-level') APIs provide one-to-one mappings to the underlying HTTP API operations. Resource APIs hide explicit network calls but instead provide resource objects and collections to access attributes and perform actions. For example:

Python Boto3 Sns

Up-to-date and Consistent Interface

Boto3's 'client' and 'resource' interfaces have dynamically generated classes driven by JSON models that describe AWS APIs. This allows us to provide very fast updates with strong consistency across all supported services.

Support for Python 2 and 3

Boto3 was written from the ground up to provide native support in Python versions 2.7+ and 3.4+.


Boto3 comes with 'waiters', which automatically poll for pre-defined status changes in AWS resources. For example, you can start an Amazon EC2 instance and use a waiter to wait until it reaches the 'running' state, or you can create a new Amazon DynamoDB table and wait until it is available to use. Boto3 has waiters for both client and resource APIs.

Service-specific High-level Features

Boto3 comes with many features that are service-specific, such as automatic multi-part transfers for Amazon S3 and simplified query conditions for Amazon DynamoDB.

PythonPython aws sdk

Python Boto3 Documentation

Connect with other developers in the Python Community Forum »

Discover more about using Python with AWS in the Python Developer Center »

Python Boto3 Examples

Learn the details of the latest SDK in the Change Log »

Dig through the source code in the GitHub Repository »

The original Boto (AWS SDK for Python Version 2) can still be installed using pip (pip install boto). The project and its documentation are also available on GitHub and via the AWS SDK for Python Documentation.