Clients and Resources
At its core, all that Boto3 does is call AWS APIs on your behalf. For the majority of the AWS services, Boto3 offers two distinct ways of accessing these abstracted APIs:
- Client: low-level service access
- Resource: higher-level object-oriented service access
You can use either to interact with S3.
To connect to the low-level client interface, you must use Boto3’s
client(). You then pass in the name of the service you want to connect to, in this case,
import boto3 s3_client = boto3.client('s3')
To connect to the high-level interface, you’ll follow a similar approach, but use
import boto3 s3_resource = boto3.resource('s3')
You’ve successfully connected to both versions, but now you might be wondering, “Which one should I use?”
Become a Member to join the conversation.