Skip to main content
Version: 0.9.1

S3Source

class S3Source(
uri: str | List[str],
credentials: dict | S3Credentials,
format: str | dict | FileFormat = None,
initial_last_modified: str | datetime = None,
region: str = None,
)

Bases: Input

Categories: source

Class for managing the configuration of S3-file-based data inputs.

Attributes: format (FileFormat): The format of the file. If not provided, it will be inferred from the file extension of the data. uri (str | List[str]): The URI of the files with format: 's3://path/to/files'. It can be a single URI or a list of URIs. credentials (S3Credentials): The credentials required to access the S3 bucket. initial_last_modified (str | datetime.datetime): If provided, only the files modified after this date and time will be considered.

Methods: to_dict(): Converts the S3Source object to a dictionary.

Initializes the S3Source with the given URI and the credentials required to access the S3 bucket, and optionally a format and date and time after which the files were modified.

Parameters

parameter
uristr | List[str]

The URI of the files with format: 's3://path/to/files'. It can be a single URI or a list of URIs.

parameter
credentialsdict | S3Credentials

The credentials required to access the S3 bucket. Can be a dictionary or a S3Credentials object.

parameter
formatstr | dict | FileFormat, optional

The format of the file. If not provided, it will be inferred from the file extension of the data. Can be either a string with the format, a FileFormat object or a dictionary with the format as the 'type' key and any additional format-specific information. Currently supported formats are 'csv', 'parquet', 'ndjson', 'jsonl' and 'log'.

parameter
initial_last_modifiedstr | datetime.datetime, optional

If provided, only the files modified after this date and time will be considered. The date and time can be provided as a string in ISO 8601 format or as a datetime object. If no timezone is provided, UTC will be assumed.

parameter
regionstr, optional

The region where the S3 bucket is located. If not provided, the default AWS region will be used.

Raises

InputConfigurationError FormatConfigurationError

Properties

property
credentialsS3Credentials

The credentials required to access the S3 bucket.

property
formatFileFormat

The format of the file. If not provided, it will be inferred from the file.

property
initial_last_modifiedstr

The date and time after which the files were modified.

property
regionstr | None

str: The region where the S3 bucket is located.

property
uristr | List[str]

The URI of the files with format: 's3://path/to/files'.

SupportedFormats
class SupportedFormats(*args, **kwds)

Bases: Enum

Enum for the supported formats for the S3Source.

attribute
csv

attribute
ndjson

attribute
log

attribute
parquet

Methods

to_dict
def to_dict() -> dict

Converts the S3Source object to a dictionary with all the relevant information.

Returns:

dict: A dictionary with the relevant information of the S3Source object.