a
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user