This commit is contained in:
2026-03-30 09:53:10 -03:00
parent 4220b0418e
commit aac27b8504
32 changed files with 1068 additions and 329 deletions

View File

@@ -80,6 +80,18 @@ def upload_file(local_path: str, bucket: str, key: str) -> None:
s3.upload_file(local_path, bucket, key)
def delete_objects(bucket: str, prefix: str) -> int:
"""Delete all objects under a prefix. Returns count of deleted objects."""
s3 = get_s3_client()
objects = list_objects(bucket, prefix)
if not objects:
return 0
delete_keys = [{"Key": obj["key"]} for obj in objects]
s3.delete_objects(Bucket=bucket, Delete={"Objects": delete_keys})
return len(delete_keys)
def get_presigned_url(bucket: str, key: str, expires: int = 3600) -> str:
"""Generate a presigned URL for an S3 object."""
s3 = get_s3_client()