ordeq_boto3
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",
... )
S3Resource
dataclass
¶
Bases: Input[ServiceResource]
IO object that establishes a boto3 S3 resource connection on load.
Example:
>>> from ordeq_boto3 import S3Resource
>>> import os
>>> s3_resource = S3Resource()
>>> resource = s3_resource.load(
... endpoint_url=os.getenv("AWS_S3_ENDPOINT_URL"),
... region_name=os.getenv("AWS_DEFAULT_REGION"),
... aws_access_key_id=os.getenv("AWS_ACCESS_KEY_ID"),
... aws_secret_access_key=os.getenv("AWS_SECRET_ACCESS_KEY"),
... aws_session_token=os.getenv("AWS_SESSION_TOKEN"),
... )
load(**load_options)
¶
Establishes and returns a boto3 S3 resource.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
load_options
|
Any
|
Additional options to pass to boto3.resource |
{}
|
Returns:
| Type | Description |
|---|---|
ServiceResource
|
The S3 ServiceResource |