s3_object.py
S3Object
dataclass
Bases: IO[bytes]
IO for loading and saving objects from S3 using boto3.
Example:
>>> from ordeq_boto3 import S3Object
>>> import boto3
>>> s3_object = S3Object(
... bucket="my-bucket",
... key="path/to/my_object",
... client=boto3.client('s3')
... )
>>> data = s3_object.load() # doctest: +SKIP
Extra parameters can be passed to the load
and save
methods, such as:
>>> from datetime import datetime
>>> data = s3_object.load(
... IfModifiedSince=datetime(2015, 1, 1)
... ) # doctest: +SKIP
>>> s3_object.save(ACL="authenticated-read") # doctest: +SKIP
When client
is not provided, it will be created using
boto3.client("s3")
:
>>> s3_object = S3Object(
... bucket="my-bucket",
... key="path/to/my_object",
... )