import boto3 from accounting_run_utils import config logger = config.logger def _get_s3_client() -> boto3.client: client = boto3.client("s3") return client def get_s3_objects(bucket_name: str, prefix: str) -> list[str]: client = _get_s3_client() response = client.list_objects_v2( Bucket=bucket_name, MaxKeys=1000, Prefix=prefix, ) if "Contents" in response: object_keys = [s3_object["Key"] for s3_object in response["Contents"]] logger.info( f"Found {response['KeyCount']} objects in {bucket_name}/{prefix}" ) return object_keys else: logger.error(f"No objects found in {bucket_name}/{prefix}") return []